html,body{overflow-x:hidden;}
/* Phase 3-5 shared design system. Loaded after page-specific CSS. */
:root{
  --ws-ds-hero-height:420px;
  /* 文字サイズの決まり: セクション見出し(H2)は、必ずタイトル(H1)より小さくする */
  --ws-ds-h1:42px;
  --ws-ds-h2:34px;
  --ws-ds-h2-mobile:var(--ws-ds-h2);
  --ws-ds-label:11px;
  --ws-ds-section-space:clamp(84px,8vw,132px);
  --ws-ds-section-space-mobile:64px;
  --ws-ds-content-max:1320px;
  --ws-ds-card-gap:14px;
  --ws-ds-card-image:150px;
  --ws-ds-card-padding:16px 18px 18px;
  --ws-ds-card-border:#D7E5ED;
  --ws-ds-card-radius:8px;
}
.ws-subpage-latest .ws-catalog-hero,
.ws-subpage-latest .platform-subhero{
  height:var(--ws-ds-hero-height);min-height:var(--ws-ds-hero-height);padding:0;box-sizing:border-box;overflow:hidden;background:#fff;
}
.ws-subpage-latest .ws-catalog-hero .subhero-inner,
.ws-subpage-latest .platform-subhero .subhero-inner{height:var(--ws-ds-hero-height);min-height:var(--ws-ds-hero-height);grid-template-columns:minmax(0,40%) minmax(0,60%);align-items:stretch;}
.ws-subpage-latest .ws-catalog-hero h1,
.ws-subpage-latest .platform-subhero h1{font-size:var(--ws-ds-h1);line-height:1.25;color:#09283c;}
.ws-subpage-latest .ws-catalog-hero .ws-catalog-hero-copy,
.ws-subpage-latest .platform-subhero .subhero-copy{padding:72px clamp(38px,5vw,78px);}
.ws-subpage-latest .ws-catalog-hero .subhero-visual,
.ws-subpage-latest .platform-subhero .subhero-visual{height:var(--ws-ds-hero-height);min-height:0;overflow:hidden;}
.ws-subpage-latest .ws-section-title,
.ws-subpage-latest .sec-title,
.ws-subpage-latest .case-placement-heading h2,
.ws-subpage-latest .case-detail-more-heading h2{font-size:var(--ws-ds-h2)!important;line-height:1.38;}
.ws-subpage-latest .ws-section-head .sec-tag,
.ws-subpage-latest .sec-tag,
.ws-subpage-latest .case-placement-heading span{font-size:var(--ws-ds-label);}
.ws-subpage-latest .case-placement-grid,
.ws-subpage-latest .ws-offering-grid,
.ws-subpage-latest .ws-case-card-grid,
.ws-subpage-latest .ws-service-card-grid,
.ws-subpage-latest .ws-catalog-grid,
.ws-subpage-latest .service-lineup-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:var(--ws-ds-card-gap)!important;}
.ws-subpage-latest .case-placement-card,
.ws-subpage-latest .ws-offering-card,
.ws-subpage-latest .ws-case-card,
.ws-subpage-latest .ws-service-card,
.ws-subpage-latest .ws-catalog-card,
.ws-subpage-latest .ws-field-card{min-width:0;max-width:none;grid-column:auto;width:auto;overflow:hidden;border:1px solid var(--ws-ds-card-border);border-radius:var(--ws-ds-card-radius);background:#fff;box-shadow:none;}
.ws-subpage-latest .case-placement-visual,
.ws-subpage-latest .ws-offering-card figure,
.ws-subpage-latest .ws-case-card__image,
.ws-subpage-latest .ws-service-card__image,
.ws-subpage-latest .ws-catalog-card figure{height:var(--ws-ds-card-image);min-height:var(--ws-ds-card-image);overflow:hidden;}
.ws-subpage-latest .case-placement-body,
.ws-subpage-latest .ws-offering-card-body,
.ws-subpage-latest .ws-case-card__body,
.ws-subpage-latest .ws-service-card__body,
.ws-subpage-latest .ws-catalog-card>div{padding:var(--ws-ds-card-padding);}
.ws-subpage-latest .case-placement-card h3,
.ws-subpage-latest .ws-offering-card h3,
.ws-subpage-latest .ws-case-card h3,
.ws-subpage-latest .ws-service-card h3,
.ws-subpage-latest .ws-catalog-card h3{font-size:17px;line-height:1.45;}
.ws-subpage-latest .ws-news-list{display:grid;grid-template-columns:1fr;gap:0;}
.ws-subpage-latest .ws-news-row{min-height:72px;padding:18px 4px;border-bottom:1px solid var(--ws-ds-card-border);background:#fff;box-shadow:none;}
.ws-ds-related{margin-left:var(--side-w);padding:var(--ws-ds-section-space) clamp(28px,6vw,96px);background:#fff;}
.ws-ds-related__inner{max-width:var(--ws-ds-content-max);margin:0 auto;}
.ws-ds-related__head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:32px;}
.ws-ds-related__head h2{margin:0;color:#09283c;font-size:var(--ws-ds-h2);line-height:1.38;}
.ws-ds-related__head span{display:block;margin-bottom:10px;color:#168ec9;font:700 var(--ws-ds-label)/1.4 Lato,sans-serif;letter-spacing:.14em;}
.ws-ds-related__grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--ws-ds-card-gap);}
.ws-ds-related__grid .case-placement-card,.ws-ds-related__grid .ws-service-card{width:auto;max-width:none;}
@media(max-width:1100px){.ws-subpage-latest .case-placement-grid,
.ws-subpage-latest .ws-offering-grid,.ws-subpage-latest .ws-case-card-grid,.ws-subpage-latest .ws-service-card-grid,.ws-subpage-latest .ws-catalog-grid,.ws-subpage-latest .service-lineup-grid,.ws-ds-related__grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;}}
@media(max-width:900px){
  .ws-subpage-latest .ws-catalog-hero,.ws-subpage-latest .platform-subhero{height:auto;min-height:0;padding:0;overflow:visible;}
  .ws-subpage-latest .ws-catalog-hero .subhero-inner,.ws-subpage-latest .platform-subhero .subhero-inner{height:auto;min-height:0;grid-template-columns:1fr;}
  .ws-subpage-latest .ws-catalog-hero .ws-catalog-hero-copy,.ws-subpage-latest .platform-subhero .subhero-copy{padding:58px 28px 36px;}
  .ws-subpage-latest .ws-catalog-hero .subhero-visual,.ws-subpage-latest .platform-subhero .subhero-visual{height:260px;min-height:260px;}
  .ws-ds-related{margin-left:0;padding:var(--ws-ds-section-space-mobile) 20px;}
  .ws-ds-related__head{display:block;}
  .ws-ds-related__head h2,.ws-subpage-latest .ws-section-title,.ws-subpage-latest .sec-title,.ws-subpage-latest .case-placement-heading h2,.ws-subpage-latest .case-detail-more-heading h2{font-size:var(--ws-ds-h2-mobile)!important;}
}
@media(max-width:680px){.ws-subpage-latest .case-placement-grid,
.ws-subpage-latest .ws-offering-grid,.ws-subpage-latest .ws-case-card-grid,.ws-subpage-latest .ws-service-card-grid,.ws-subpage-latest .ws-catalog-grid,.ws-subpage-latest .service-lineup-grid,.ws-ds-related__grid{grid-template-columns:1fr!important;}.ws-subpage-latest .case-placement-visual,
.ws-subpage-latest .ws-offering-card figure,.ws-subpage-latest .ws-catalog-card figure{height:var(--ws-ds-card-image);min-height:var(--ws-ds-card-image);}}

/* Final visual QA: keep the three dense overview pages on shared tokens. */
.ws-subpage-latest.page-solution .subhero,
.ws-subpage-latest.page-service .subhero,
.ws-subpage-latest.page-service-will-fleet .subhero,
.ws-subpage-latest.page-service-will-sign .subhero,
.ws-subpage-latest.page-service-carsharing .subhero,
.ws-subpage-latest.page-service-public-rideshare .subhero,
.ws-subpage-latest.page-service-community-bus .subhero,
.ws-subpage-latest.page-service-bus-core .subhero,
.ws-subpage-latest.page-service-mobility .subhero,
.ws-subpage-latest.page-service-information .subhero,
.ws-subpage-latest.page-service-solution-development .subhero,
.ws-subpage-latest.page-service-data-science .subhero,
.ws-subpage-latest.page-service-cloud .subhero,
.ws-subpage-latest.page-recruit .subhero,
.ws-subpage-latest.page-techblog .subhero,
.ws-subpage-latest.page-company-about .subhero{height:var(--ws-ds-hero-height);min-height:var(--ws-ds-hero-height);padding:0;box-sizing:border-box;overflow:hidden;background:#fff;}
.ws-subpage-latest.page-solution .subhero-inner,
.ws-subpage-latest.page-service .subhero-inner,
.ws-subpage-latest.page-service-will-fleet .subhero-inner,
.ws-subpage-latest.page-service-will-sign .subhero-inner,
.ws-subpage-latest.page-service-carsharing .subhero-inner,
.ws-subpage-latest.page-service-public-rideshare .subhero-inner,
.ws-subpage-latest.page-service-community-bus .subhero-inner,
.ws-subpage-latest.page-service-bus-core .subhero-inner,
.ws-subpage-latest.page-service-mobility .subhero-inner,
.ws-subpage-latest.page-service-information .subhero-inner,
.ws-subpage-latest.page-service-solution-development .subhero-inner,
.ws-subpage-latest.page-service-data-science .subhero-inner,
.ws-subpage-latest.page-service-cloud .subhero-inner,
.ws-subpage-latest.page-recruit .subhero-inner,
.ws-subpage-latest.page-techblog .subhero-inner,
.ws-subpage-latest.page-company-about .subhero-inner{height:var(--ws-ds-hero-height);min-height:var(--ws-ds-hero-height);grid-template-columns:minmax(0,40%) minmax(0,60%);align-items:stretch;}
.ws-subpage-latest.page-solution .subhero-inner>div:first-child,
.ws-subpage-latest.page-service .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-will-fleet .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-will-sign .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-carsharing .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-public-rideshare .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-community-bus .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-bus-core .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-mobility .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-information .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-solution-development .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-data-science .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-cloud .subhero-inner>div:first-child,
.ws-subpage-latest.page-recruit .subhero-inner>div:first-child,
.ws-subpage-latest.page-techblog .subhero-inner>div:first-child,
.ws-subpage-latest.page-company-about .subhero-inner>div:first-child{padding:72px clamp(38px,5vw,78px);}
.ws-subpage-latest.page-solution .subhero h1,
.ws-subpage-latest.page-service .subhero h1,
.ws-subpage-latest.page-service-will-fleet .subhero h1,
.ws-subpage-latest.page-service-will-sign .subhero h1,
.ws-subpage-latest.page-service-carsharing .subhero h1,
.ws-subpage-latest.page-service-public-rideshare .subhero h1,
.ws-subpage-latest.page-service-community-bus .subhero h1,
.ws-subpage-latest.page-service-bus-core .subhero h1,
.ws-subpage-latest.page-service-mobility .subhero h1,
.ws-subpage-latest.page-service-information .subhero h1,
.ws-subpage-latest.page-service-solution-development .subhero h1,
.ws-subpage-latest.page-service-data-science .subhero h1,
.ws-subpage-latest.page-service-cloud .subhero h1,
.ws-subpage-latest.page-recruit .subhero h1,
.ws-subpage-latest.page-techblog .subhero h1,
.ws-subpage-latest.page-company-about .subhero h1{font-size:var(--ws-ds-h1);line-height:1.25;}
.ws-subpage-latest.page-solution .subhero-visual,
.ws-subpage-latest.page-service .subhero-visual,
.ws-subpage-latest.page-service-will-fleet .subhero-visual,
.ws-subpage-latest.page-service-will-sign .subhero-visual,
.ws-subpage-latest.page-service-carsharing .subhero-visual,
.ws-subpage-latest.page-service-public-rideshare .subhero-visual,
.ws-subpage-latest.page-service-community-bus .subhero-visual,
.ws-subpage-latest.page-service-bus-core .subhero-visual,
.ws-subpage-latest.page-service-mobility .subhero-visual,
.ws-subpage-latest.page-service-information .subhero-visual,
.ws-subpage-latest.page-service-solution-development .subhero-visual,
.ws-subpage-latest.page-service-data-science .subhero-visual,
.ws-subpage-latest.page-service-cloud .subhero-visual,
.ws-subpage-latest.page-recruit .subhero-visual,
.ws-subpage-latest.page-techblog .subhero-visual,
.ws-subpage-latest.page-company-about .subhero-visual{height:var(--ws-ds-hero-height);min-height:0;overflow:hidden;}
.ws-subpage-latest.page-solution .business-domain-map-section,
.ws-subpage-latest.page-solution .service-lineup-feature,
.ws-subpage-latest.page-solution .section-pad,
.ws-subpage-latest.page-company-about>section.section-pad,
.ws-subpage-latest.page-service .service-final-section,
.ws-subpage-latest.page-company-about .vision-section{padding-block:var(--ws-ds-section-space);}
.ws-subpage-latest.page-service .service-section-head h2,
.ws-subpage-latest.page-service .service-lineup-feature .ws-section-title,
.ws-subpage-latest.page-company-about .vision-heading h2{font-size:var(--ws-ds-h2);line-height:1.38;}
.ws-subpage-latest.page-service .service-section-head{margin-bottom:32px;}
.ws-subpage-latest.page-service .service-purpose-card,
.ws-subpage-latest.page-service .service-own-card,
.ws-subpage-latest.page-service .service-domain-card,
.ws-subpage-latest.page-company-about .mvv-card,
.ws-subpage-latest.page-company-about .mission-story,
.ws-subpage-latest.page-company-about .partner-list{border-radius:var(--ws-ds-card-radius);box-shadow:none;}
.ws-subpage-latest.page-service .service-purpose-card-grid,
.ws-subpage-latest.page-service .service-own-grid,
.ws-subpage-latest.page-service .service-domain-grid{gap:var(--ws-ds-card-gap);}
.ws-subpage-latest.page-company-about .vision-heading>p:last-child{max-width:var(--ws-ds-content-max);font-size:14px;line-height:2;}
@media(max-width:900px){
.ws-subpage-latest.page-solution .subhero,
.ws-subpage-latest.page-service .subhero,
.ws-subpage-latest.page-service-will-fleet .subhero,
.ws-subpage-latest.page-service-will-sign .subhero,
.ws-subpage-latest.page-service-carsharing .subhero,
.ws-subpage-latest.page-service-public-rideshare .subhero,
.ws-subpage-latest.page-service-community-bus .subhero,
.ws-subpage-latest.page-service-bus-core .subhero,
.ws-subpage-latest.page-service-mobility .subhero,
.ws-subpage-latest.page-service-information .subhero,
.ws-subpage-latest.page-service-solution-development .subhero,
.ws-subpage-latest.page-service-data-science .subhero,
.ws-subpage-latest.page-service-cloud .subhero,
.ws-subpage-latest.page-recruit .subhero,
.ws-subpage-latest.page-techblog .subhero,
.ws-subpage-latest.page-company-about .subhero{height:auto;min-height:0;overflow:visible;}
.ws-subpage-latest.page-solution .subhero-inner,
.ws-subpage-latest.page-service .subhero-inner,
.ws-subpage-latest.page-service-will-fleet .subhero-inner,
.ws-subpage-latest.page-service-will-sign .subhero-inner,
.ws-subpage-latest.page-service-carsharing .subhero-inner,
.ws-subpage-latest.page-service-public-rideshare .subhero-inner,
.ws-subpage-latest.page-service-community-bus .subhero-inner,
.ws-subpage-latest.page-service-bus-core .subhero-inner,
.ws-subpage-latest.page-service-mobility .subhero-inner,
.ws-subpage-latest.page-service-information .subhero-inner,
.ws-subpage-latest.page-service-solution-development .subhero-inner,
.ws-subpage-latest.page-service-data-science .subhero-inner,
.ws-subpage-latest.page-service-cloud .subhero-inner,
.ws-subpage-latest.page-recruit .subhero-inner,
.ws-subpage-latest.page-techblog .subhero-inner,
.ws-subpage-latest.page-company-about .subhero-inner{height:auto;min-height:0;grid-template-columns:1fr;}
.ws-subpage-latest.page-solution .subhero-inner>div:first-child,
.ws-subpage-latest.page-service .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-will-fleet .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-will-sign .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-carsharing .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-public-rideshare .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-community-bus .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-bus-core .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-mobility .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-information .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-solution-development .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-data-science .subhero-inner>div:first-child,
.ws-subpage-latest.page-service-cloud .subhero-inner>div:first-child,
.ws-subpage-latest.page-recruit .subhero-inner>div:first-child,
.ws-subpage-latest.page-techblog .subhero-inner>div:first-child,
.ws-subpage-latest.page-company-about .subhero-inner>div:first-child{padding:58px 28px 36px;}
.ws-subpage-latest.page-solution .subhero-visual,
.ws-subpage-latest.page-service .subhero-visual,
.ws-subpage-latest.page-service-will-fleet .subhero-visual,
.ws-subpage-latest.page-service-will-sign .subhero-visual,
.ws-subpage-latest.page-service-carsharing .subhero-visual,
.ws-subpage-latest.page-service-public-rideshare .subhero-visual,
.ws-subpage-latest.page-service-community-bus .subhero-visual,
.ws-subpage-latest.page-service-bus-core .subhero-visual,
.ws-subpage-latest.page-service-mobility .subhero-visual,
.ws-subpage-latest.page-service-information .subhero-visual,
.ws-subpage-latest.page-service-solution-development .subhero-visual,
.ws-subpage-latest.page-service-data-science .subhero-visual,
.ws-subpage-latest.page-service-cloud .subhero-visual,
.ws-subpage-latest.page-recruit .subhero-visual,
.ws-subpage-latest.page-techblog .subhero-visual,
.ws-subpage-latest.page-company-about .subhero-visual{height:260px;min-height:260px;}
.ws-subpage-latest.page-service .service-section-head h2,
.ws-subpage-latest.page-service .service-lineup-feature .ws-section-title,
.ws-subpage-latest.page-company-about .vision-heading h2{font-size:var(--ws-ds-h2-mobile);}
.ws-subpage-latest.page-solution .business-domain-map-section,
.ws-subpage-latest.page-solution .service-lineup-feature,
.ws-subpage-latest.page-solution .section-pad,
.ws-subpage-latest.page-company-about>section.section-pad,
.ws-subpage-latest.page-service .service-final-section,
.ws-subpage-latest.page-company-about .vision-section{padding-block:var(--ws-ds-section-space-mobile);}
}/* Final QA: full-page captures and non-scrolling users must never see content hidden by reveal. */
.reveal,.reveal.is-visible{opacity:1;transform:none;}

/* headings: break Japanese at phrase boundaries and avoid one-character orphans */
.ws-subpage-latest h1,.ws-subpage-latest h2,.ws-subpage-latest h3,
.ws-redesign h1,.ws-redesign h2,.ws-redesign h3{word-break:auto-phrase;text-wrap:balance}

/* mobile: one shared H1 size for standard subpages and product pages (detail pages keep their own) */
@media(max-width:680px){
  body.ws-redesign:not(.ws-detail-page) .subhero h1,
  body.ws-redesign .product-section h1{font-size:35px!important;line-height:1.3!important}
}

/* catalog grids stay 3 columns on PC (AGENTS.md); 4 items wrap 3+1 */
@media(max-width:1100px) and (min-width:681px){.ws-subpage-latest .ws-catalog-grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:680px){.ws-subpage-latest .ws-catalog-grid{grid-template-columns:minmax(0,1fr)!important}}

/* related blocks with four items: one row on wide screens, 2x2 on tablets */
@media(min-width:1101px){.ws-ds-related__grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1100px) and (min-width:681px){.ws-ds-related__grid:has(>:nth-child(4):last-child){grid-template-columns:repeat(2,minmax(0,1fr))}}
/* coverage-area blocks: an odd last block spans the row instead of leaving half of it empty */
@media(min-width:1101px){.sol-grid>.sol-card:last-child:nth-child(odd){grid-column:1/-1}}
@media(max-width:680px){body.ws-product-page .product-hero h1,body.ws-product-page h1{font-size:35px!important;line-height:1.3!important}}

/* Coverage boxes are containers: only the cards inside are interactive */
.ws-subpage-latest .sol-card:has(.case-placement-grid):hover{transform:none;box-shadow:0 12px 38px rgba(8,48,70,.065);border-color:var(--sp-line)}
.ws-subpage-latest .sol-card .case-placement-card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.ws-subpage-latest .sol-card .case-placement-card:hover,.ws-subpage-latest .sol-card .case-placement-card:focus-within{transform:translateY(-4px);border-color:rgba(66,198,242,.75);box-shadow:0 14px 30px rgba(8,48,70,.14)}
.ws-subpage-latest .sol-card .case-placement-card a:focus-visible{outline:2px solid #119fce;outline-offset:-2px}
.ws-subpage-latest .sol-grid:has(.case-placement-grid){grid-template-columns:minmax(0,1fr)!important}

/* sample (pseudo) case notice */
.case-sample-note{margin:0 0 20px;padding:10px 14px;border:1px dashed #b7c9d2;border-radius:6px;background:#f3f8fa;color:#526c7b;font-size:13px}

/* 左メニュー下の「東証グロース市場上場」はIR情報へのリンク */
.ws-side-trust>a.ws-side-trust-link{display:block;color:inherit;text-decoration:none;border-radius:10px}
.ws-side-trust>a.ws-side-trust-link>div{display:grid;grid-template-columns:42px 1fr;gap:9px;align-items:center;margin-bottom:7px;padding:8px;background:#fff;border:1px solid #e1e9ee;border-radius:10px;transition:border-color .15s,background .15s}
.ws-side-trust>a.ws-side-trust-link>div img{width:42px;height:31px;object-fit:contain}
.ws-side-trust>a.ws-side-trust-link>div span{font-size:9.5px;font-weight:650;line-height:1.45;color:#355064}
.ws-side-trust>a.ws-side-trust-link:hover>div{border-color:#42c6f2;background:#eef9fd}
.ws-side-trust>a.ws-side-trust-link:focus-visible{outline:2px solid #158fc5;outline-offset:2px}
@media(min-width:901px){.ws-side-trust>a.ws-side-trust-link>div{grid-template-columns:42px 1fr}}
@media(max-width:900px){.ws-side-trust>a.ws-side-trust-link>div{grid-template-columns:34px 1fr;gap:7px;margin-bottom:5px;padding:6px 7px;border-radius:8px}.ws-side-trust>a.ws-side-trust-link>div img{width:34px;height:25px}.ws-side-trust>a.ws-side-trust-link>div span{font-size:8.5px;line-height:1.3}}

/* ===== タイトル(ヒーロー／ページ内メニュー)と最初のコンテンツの余白を全ページで統一（基準: IR情報） ===== */
:root{--ws-ds-first-section-pad:clamp(28px,3vw,44px)}
.ws-subpage-latest:not(.ws-detail-page) :is(.subhero,.ws-catalog-hero,.product-hero,.platform-subhero,[class*="local-nav"])+section,
.ws-subpage-latest:not(.ws-detail-page) :is(.subhero,.ws-catalog-hero,.product-hero,.platform-subhero,[class*="local-nav"])+main>section:first-child,
.ws-subpage-latest:not(.ws-detail-page) :is(.subhero,.ws-catalog-hero,.product-hero,.platform-subhero,[class*="local-nav"])+.ws-main>section:first-child{padding-top:var(--ws-ds-first-section-pad)!important}
.ws-subpage-latest.page-service .service-final-main>.service-final-offerings:first-child{margin-top:0!important}

/* ===== 文字サイズの決まり（H1 > H2）=====
   PC(1101px〜):  H1 42px / H2 34px
   タブレット(681〜1100px): H1 34px / H2 28px
   スマホ(〜680px): H1 30px / H2 24px  */
@media(max-width:1100px){:root{--ws-ds-h1:34px;--ws-ds-h2:28px}}
@media(max-width:680px){:root{--ws-ds-h1:30px;--ws-ds-h2:24px}}
body.ws-subpage-latest:not(.ws-detail-page) :is(.subhero,.ws-catalog-hero,.product-hero,.platform-subhero) h1,
body.ws-subpage-latest.ws-product-page:not(.ws-detail-page) h1,
body.ws-redesign.ws-subpage-latest:not(.ws-detail-page) .subhero h1,
body.ws-redesign.ws-subpage-latest .product-section h1{font-size:var(--ws-ds-h1)!important;line-height:1.3!important}
body.ws-subpage-latest :is(h2.sec-title,h2.ws-section-title,.case-filter-heading h2,.company-section-heading h2,.company-combined-inner h2,.case-placement-heading h2,.case-detail-more-heading h2,.product-heading h2,.service-section-head h2,.ws-ds-related__head h2,.ws-recruit-tech-head h2,.domain-map-copy h2,.vision-heading h2,.ws-detail-heading h2,.ws-solutions-title h2,.ws-solutions h2){font-size:var(--ws-ds-h2)!important;line-height:1.4!important}
/* shared-shell.css 側の旧トークンも、新しいH2サイズに合わせる */
body.ws-subpage-latest{--ws-subpage-heading-size:var(--ws-ds-h2)}

/* ===== 「関連するサービス」「関連する実績・事例」など関連セクションの余白（全ページ共通） ===== */
:root{--ws-ds-related-pad:clamp(44px,4.4vw,64px)}
body.ws-subpage-latest :is(#related-services,.case-placement-section,.ws-ds-related){padding-top:var(--ws-ds-related-pad)!important;padding-bottom:var(--ws-ds-related-pad)!important}
body.ws-subpage-latest section:has(+ :is(#related-services,.case-placement-section,.ws-ds-related)){padding-bottom:var(--ws-ds-related-pad)!important}
body.ws-subpage-latest #related-services+:is(.case-placement-section,.ws-ds-related){padding-top:0!important}

/* ===== 絞り込みキーワード（チップ）をコンパクトに ===== */
body.ws-subpage-latest .case-filter-controls{gap:6px}
body.ws-subpage-latest .case-filter-controls button{min-height:28px;padding:5px 11px;font-size:11px}
body.ws-subpage-latest .case-filter-groups{gap:8px}
@media(min-width:901px){
  body.ws-subpage-latest .case-filter-group{grid-template-columns:84px minmax(0,1fr);gap:10px}
  body.ws-subpage-latest .case-filter-group>strong{padding-top:7px;font-size:10px}
}
body.ws-subpage-latest .case-filter-panel-v2 [data-filter-reset]{padding:6px 14px;font-size:11px}

/* ページ内メニューがないページ: ヒーローと本文の境目に線を入れる（メニューの下線と同じ色） */
body.ws-subpage-latest[data-no-local-nav] .subhero{border-bottom:1px solid var(--sp-line,#d8e8ef)}

/* 導入事例: 件数はカード一覧の直前に置く（絞り込み条件の外） */
body.page-case .case-filter-panel{margin-bottom:22px}
.case-result-count{text-align:left;margin:0 0 16px;color:#5b7482;font-size:12px;line-height:1.4}
.case-result-count strong{margin-right:3px;color:var(--sp-blue,#158fc5);font-family:var(--ws-font-en,Lato,sans-serif);font-size:22px;font-weight:700}

/* サービス詳細: 一覧へ戻るリンク */

/* 下層ページ全般: section-pad同士が連続すると、上下パディングが重なり
   約250pxの空白になる。後続セクションの上パディングを消して、間隔を1セクション分にそろえる。 */
body.ws-subpage-latest:not(.ws-detail-page) section.section-pad+section.section-pad{padding-top:0!important}

/* サービス詳細ページ: OVERVIEW直下の「写真＋要約カード＋資料ダウンロードCTA」ブロック（Will-Fleetが基準） */
.ws-ov{display:grid;grid-template-columns:minmax(0,48%) minmax(0,52%);gap:32px;align-items:stretch;margin-top:28px}
.ws-ov-visual{border-radius:16px;overflow:hidden}
.ws-ov-visual img{display:block;width:100%;height:100%;object-fit:cover}
.ws-ov-body{display:flex;flex-direction:column;justify-content:center;background:#eef2f6;border-radius:16px;padding:40px 44px}
.ws-ov-lead{margin:0 0 14px;color:#0b2b3d;font-size:19px;font-weight:700;line-height:1.55}
.ws-ov-text{margin:0 0 26px;color:#55707e;font-size:14px;line-height:1.9}
.ws-ov-cta svg{flex:none}
@media(max-width:900px){.ws-ov{grid-template-columns:1fr;gap:20px}.ws-ov-body{padding:32px 28px}}

/* サービス詳細ページ: 「製品仕様」定義リスト（Will-Fleetが基準） */
.ws-spec{max-width:920px;margin:0;border-top:1px solid #dce8ee}
.ws-spec dl{display:grid;grid-template-columns:200px 1fr;margin:0;border-bottom:1px solid #dce8ee}
.ws-spec dt{padding:16px 20px;background:#f7fafc;color:#0b2b3d;font-size:13px;font-weight:700;border-right:1px solid #dce8ee}
.ws-spec dd{margin:0;padding:16px 20px;color:#3d5a6b;font-size:13px;line-height:1.9}
@media(max-width:680px){.ws-spec dl{grid-template-columns:1fr}.ws-spec dt{border-right:0;border-bottom:1px solid #dce8ee}}

/* 社員インタビュー: ヒーロー写真は人物ごとに顔が切れない縦位置へ（subpages-pro.cssの
   background-position:center!importantを、より高い詳細度で個別に上書きする） */
body.ws-subpage-latest.page-recruit-interview-hlioui section.subhero .subhero-visual{background-position:center 10%!important}
body.ws-subpage-latest.page-recruit-interview-manager section.subhero .subhero-visual{background-position:center 0%!important}
body.ws-subpage-latest.page-recruit-interview-hagiwara section.subhero .subhero-visual{background-position:center 10%!important}
