/* Shared visual system for the October renewal draft. */
.disa-hero-accent{color:#86c3d4}

:root{
  --renew-gutter:20px;
  --renew-content-width:min(1280px,calc(100% - var(--renew-gutter) * 2));
  /* ブランド */
  --brand:#438093;
  /* 面 */
  --surface:#f5f5f5;
  --surface-2:#eeeeee;
  --surface-3:#e5e5e5;
  --surface-shift:#e8e8e8;
  --surface-card:#ffffff;
  --surface-dark:#444444;
  /* 文字。比率は各背景色との実測値 */
  --on-surface:#111111;         /* 17.3:1 on --surface */
  --on-surface-body:#333333;    /* 11.6:1 on --surface */
  --on-surface-muted:#555555;   /* 6.8:1 on --surface */
  --on-surface-accent:#315e6c;  /* 6.5:1 on --surface */
  --on-dark:#ffffff;            /* 9.7:1 on --surface-dark */
  --on-dark-accent:#b8cfd7;     /* 6.0:1 on --surface-dark */
  /* インタラクティブ。背景色は判断確定までブランド色を維持 */
  --interactive:#438093;
  --on-interactive:#ffffff;
  /* 既存名は互換用 */
  --ink:var(--on-surface);
  --accent:var(--brand);--bg:var(--surface);
  --text:var(--on-surface);
}
.material-symbols-outlined{visibility:hidden}.material-symbols-ready .material-symbols-outlined{visibility:visible}
.renew-header,.renew-footer{font-family:Inter,"Noto Sans JP",sans-serif;color:var(--on-surface);box-sizing:border-box}
.renew-header *,.renew-footer *{box-sizing:border-box}
.renew-header{position:fixed;inset:0 0 auto;z-index:1000;background:linear-gradient(to bottom,#eee 0 36px,rgba(255,255,255,.96) 36px);backdrop-filter:blur(16px);box-shadow:0 1px 8px #0000000c}
.renew-header a,.renew-footer a{color:inherit;text-decoration:none;font-weight:900}
.renew-news{display:flex;align-items:center;gap:10px;max-width:1280px;margin:auto;padding:8px 64px;font-size:11px;background:transparent;line-height:20px;height:36px}
.renew-news>span{padding:0 8px;border-radius:99px;background:#d7e5ea;color:var(--on-surface-accent);font-weight:900}
.renew-news p{margin:0;font-size:11px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;color:var(--on-surface-muted)}
.renew-news a{white-space:nowrap;font-size:11px}
.renew-nav{position:relative;max-width:1280px;margin:auto;min-height:80px;padding:16px 64px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.renew-nav>a{display:block;flex-shrink:0}.renew-nav img{width:214px;height:auto;display:block}
.renew-nav nav{display:flex;align-items:center;gap:24px;font-size:14px}
:is(.renew-chip,.renew-page .service-banner-btn,.profile-main .service-banner-btn,.spot-cta-card .service-banner-btn,.renew-page .works-tile-btn,.renew-page .button-primary,.renew-page .btn-primary,.renew-page .tips-cta,.renew-page .hub-sticky-cta,.disa-link-chip,a.bg-primary,footer a[data-path="contact"]){position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #ffffff47;background:var(--interactive);color:var(--on-interactive);border-radius:999px;padding:12px 24px;font-size:14px;line-height:1.5;font-weight:900;box-shadow:inset 0 1px 0 #ffffff2e,inset 0 -1px 0 #0000001f,0 4px 14px #1111111f;backdrop-filter:blur(12px) saturate(140%);-webkit-backdrop-filter:blur(12px) saturate(140%);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s ease,background .35s ease;white-space:nowrap}
:is(.renew-chip,.renew-page .service-banner-btn,.profile-main .service-banner-btn,.spot-cta-card .service-banner-btn,.renew-page .works-tile-btn,.renew-page .button-primary,.renew-page .btn-primary,.renew-page .tips-cta,.renew-page .hub-sticky-cta,.disa-link-chip,a.bg-primary,footer a[data-path="contact"])::before{content:"";position:absolute;z-index:-1;inset:-90% auto -90% -45%;width:38%;background:linear-gradient(90deg,transparent,#ffffff85,transparent);filter:blur(3px);transform:translateX(-220%) rotate(18deg);transition:transform .75s cubic-bezier(.2,.75,.25,1);pointer-events:none}
:is(.renew-chip,.renew-page .service-banner-btn,.profile-main .service-banner-btn,.spot-cta-card .service-banner-btn,.renew-page .works-tile-btn,.renew-page .button-primary,.renew-page .btn-primary,.renew-page .tips-cta,.renew-page .hub-sticky-cta,.disa-link-chip,a.bg-primary,footer a[data-path="contact"]):is(:hover,:focus-visible){background:linear-gradient(135deg,#5499aee0,#315e6cd1);color:var(--on-dark);transform:translateY(-2px) scale(1.015);box-shadow:inset 0 1px 0 #ffffff77,inset 0 -1px 0 #0000001a,0 10px 26px #11111133}
:is(.renew-chip,.renew-page .service-banner-btn,.profile-main .service-banner-btn,.spot-cta-card .service-banner-btn,.renew-page .works-tile-btn,.renew-page .button-primary,.renew-page .btn-primary,.renew-page .tips-cta,.renew-page .hub-sticky-cta,.disa-link-chip,a.bg-primary,footer a[data-path="contact"]):is(:hover,:focus-visible)::before{transform:translateX(620%) rotate(18deg)}
@media(prefers-reduced-motion:reduce){:is(.renew-chip,.renew-page .service-banner-btn,.profile-main .service-banner-btn,.spot-cta-card .service-banner-btn,.renew-page .works-tile-btn,.renew-page .button-primary,.renew-page .btn-primary,.renew-page .tips-cta,.renew-page .hub-sticky-cta,.disa-link-chip,a.bg-primary,footer a[data-path="contact"]){transition:none}:is(.renew-chip,.renew-page .service-banner-btn,.profile-main .service-banner-btn,.spot-cta-card .service-banner-btn,.renew-page .works-tile-btn,.renew-page .button-primary,.renew-page .btn-primary,.renew-page .tips-cta,.renew-page .hub-sticky-cta,.disa-link-chip,a.bg-primary,footer a[data-path="contact"])::before{display:none}}
.renew-menu-button{display:none;border:0;background:transparent;padding:8px;color:var(--on-surface)}
.renew-footer{background:var(--surface-3);padding:56px max(20px,calc((100vw - 1152px)/2)) 28px}
.renew-footer-grid{display:grid;grid-template-columns:1.3fr repeat(4,.7fr) 1fr;gap:48px}
.renew-footer img{position:relative;z-index:1;width:214px;height:auto}.renew-footer p{font-size:12px;line-height:1.9;margin:16px 0;font-weight:400}
.renew-footer h2{font-size:14px;font-weight:900;margin:0 0 16px}.renew-footer-grid>div>a:not(.renew-chip){display:block;margin:8px 0;font-size:12px}
.renew-social{display:flex;gap:8px;flex-wrap:wrap}.renew-social a{background:var(--surface-card);border-radius:99px;padding:4px 10px;font-size:11px}
.renew-legal{margin-top:48px;display:flex;align-items:center;gap:24px;font-size:11px}.renew-legal small{margin-left:auto;font-size:10px;color:var(--on-surface-muted)}
.renew-page{margin:0;background:var(--surface);color:var(--on-surface);font-family:Inter,"Noto Sans JP",sans-serif;overflow-x:clip}
.renew-page :is(h1,h2,h3,h4,h5,h6,button,label,summary,th){font-family:Inter,"Noto Sans JP",sans-serif;font-weight:900}
.renew-page :is(p,li,td,input,textarea,select){font-family:Inter,"Noto Sans JP",sans-serif}
.renew-page :is(.eyebrow,.kicker,.en-label,.sub,.page-breadcrumb,.tips-note__cat,.tips-counter,.hub-item__title){font-weight:900}
.renew-page .page-main>.panel:first-of-type .content-stack>p{font-weight:900}
.renew-page :is(.eyebrow,.kicker,.en-label){color:var(--on-surface-accent);letter-spacing:.14em}
.renew-page :is(.page-main,.dplus-main,.container,.tips-wrap,.hub-wrap){padding-top:156px;max-width:1280px;margin-inline:auto;padding-inline:64px;background:transparent}
.renew-page .page-main{padding-top:116px}
.renew-page .hub-wrap{width:100%;box-sizing:border-box;padding-top:116px}
.renew-page .page-main>.panel{position:relative;border:0;border-radius:0;box-shadow:none;background:transparent;padding:32px 0 56px;margin:0;overflow:visible}
.renew-page .page-main>.panel:first-of-type{padding-block:72px 80px}
.renew-page .page-main>.panel:first-of-type>.eyebrow{display:block;margin:0;color:var(--on-surface-accent);font-size:12px;line-height:1.4;letter-spacing:.16em;font-weight:900}
.renew-page .page-main>.panel:first-of-type>h1{margin:16px 0 0;font-size:clamp(40px,5vw,64px);line-height:1.3;color:var(--on-surface)}
.renew-page .page-main>.panel:first-of-type>.content-stack{margin-top:24px}
.renew-page .page-main>.panel:first-of-type>.content-stack>p:first-child{margin-top:0;font-size:16px;line-height:1.9;font-weight:900;color:var(--on-surface)}
.renew-page .hub-hero{padding-block:72px 80px;text-align:left}.renew-page .hub-hero__title{max-width:760px;margin:16px 0 0;font-size:clamp(40px,5vw,64px);line-height:1.3}.renew-page .hub-hero__lead{max-width:720px;margin-top:24px;font-size:16px;line-height:1.9;font-weight:900}
.renew-page .page-main>.panel:first-of-type,.about-main .about-intro,.renew-page .hub-hero{background-image:radial-gradient(circle at 72% 50%,transparent 0 72px,rgba(67,128,147,.16) 73px 76px,transparent 77px),linear-gradient(135deg,transparent 0 46%,rgba(67,128,147,.07) 46% 68%,transparent 68%),repeating-linear-gradient(90deg,rgba(17,17,17,.035) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(17,17,17,.035) 0 1px,transparent 1px 18px);background-repeat:no-repeat;background-size:420px 260px;background-position:right 24px center}
.renew-page .page-main>.panel:nth-of-type(3n+2)::before{content:"";position:absolute;z-index:-1;left:calc((1152px - 100vw)/2);right:10%;top:100px;bottom:8px;background:var(--surface-shift);border-radius:0 88px 88px 0;pointer-events:none}
.renew-page .page-main{isolation:isolate}
.renew-page .page-title,.renew-page h1{font-weight:900;letter-spacing:-.025em}
@keyframes disa-type-in{from{opacity:0}to{opacity:1}}
.renew-page .disa-type-char,.about-main .disa-type-char,.profile-main .disa-type-char{display:inline-block;opacity:0;animation:disa-title-arrive .48s cubic-bezier(.2,.75,.25,1) both;animation-delay:calc(100ms + var(--char-index)*38ms)}
.renew-page h1{font-size:clamp(32px,4.5vw,60px);line-height:1.35}
.renew-page h2{font-size:30px;line-height:1.45}.renew-page h3{font-size:21px;line-height:1.55}
.renew-page .page-main .section-sub-heading{margin:0 0 10px;font-size:21px;line-height:1.55}
.renew-page :is(.support-card,.service-card,.activity-card,.partner-card,.hub-item,.tips-note,.faq-item){background:var(--surface-card);color:var(--on-surface);border:1px solid var(--surface-3);border-radius:24px;box-shadow:none}
.renew-page :is(.support-card,.service-card,.activity-card){padding:28px}
.renew-page :is(.support-grid,.service-grid){gap:24px}
.renew-page :is(.form-submit button,.submit-btn){background:var(--interactive);color:var(--on-interactive);border-radius:999px;border:0;font-weight:900}
.renew-page :is(.service-banner-btn,.works-tile-btn,.button-primary,.btn-primary,.tips-cta){display:inline-flex;align-items:center;justify-content:center;gap:8px}
.renew-page :is(.service-banner-btn,.works-tile-btn,.button-primary,.btn-primary,.tips-cta) .material-symbols-outlined{font-size:18px;line-height:1;flex-shrink:0}
.spot-faq-cta-wrap{width:100%;max-width:1152px;margin:40px auto 0;text-align:left}
.spot-cta-card{position:relative;z-index:1;overflow:hidden;background:#292929;color:var(--on-dark);border:0;border-radius:24px;padding:64px;display:grid;grid-template-columns:minmax(0,520px) auto;column-gap:64px;row-gap:8px;align-items:center;justify-content:space-between;width:100%;text-align:left;font-size:16px;line-height:1.8;box-shadow:0 12px 28px #1112}
.spot-cta-card::after{content:"";position:absolute;z-index:-1;left:-72px;bottom:-96px;width:260px;height:220px;border-radius:50%;background:#ffffff26;filter:blur(40px);pointer-events:none}
.spot-cta-card :is(h2,h3,p){color:var(--on-dark)}
.spot-cta-card :is(.eyebrow,.kicker,.en-label,.spot-cta-label){color:var(--on-dark-accent)}
.spot-cta-label{grid-column:1;margin:0;font-size:12px;line-height:1.5;letter-spacing:.14em;font-weight:900}
.spot-cta-card .spot-cta-title{grid-column:1;margin:0;font-size:32px;line-height:1.35;font-weight:900;letter-spacing:-.02em}
.spot-cta-card .spot-cta-copy{grid-column:1;margin:0;max-width:520px;font-size:14px;line-height:1.9;font-weight:400;color:#ddd}
.renew-page .tips-action{background:var(--surface-2);color:var(--on-surface);border-radius:20px}
.renew-page .tips-action__label{color:var(--on-surface-accent)}
.spot-cta-card .service-banner-btn{grid-column:2;grid-row:1 / span 3;min-width:178px;min-height:50px}
.renew-page :is(.tips-note__title,.hub-hero__title,.hero-line--accent,.h2-accent){color:var(--on-surface-accent)}
.renew-page .tips-note__body{color:var(--on-surface-body)}.renew-page .tips-note{padding:40px}.renew-page .tips-action__text{color:var(--on-surface)}
.renew-page .tips-header{margin-bottom:24px}.renew-page .hub-hero{background-color:transparent;color:var(--on-surface)}.renew-page .hub-hero__title{color:var(--on-surface)}
.renew-page .hub-hero__title-text{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal;overflow-wrap:anywhere;display:block;font-weight:900;letter-spacing:-.025em;color:var(--on-surface);font-size:clamp(32px,4.5vw,60px);line-height:1.35}
.renew-page .hero{background:var(--surface-dark);color:var(--on-dark);border-radius:24px;padding:48px}.renew-page .hero h1,.renew-page .hero p{color:var(--on-dark)}.renew-page .hero .hero-line--accent{color:var(--on-dark-accent)}
.renew-page :is([data-aos],[data-reveal]){opacity:1;transform:none}
.renew-page .form-field input,.renew-page .form-field textarea,.renew-page .form-field select{background:var(--surface-card);border:1px solid #aaa;border-radius:12px;color:var(--on-surface);padding:12px;width:100%}
.renew-page .form-field label{display:block;margin-bottom:8px}.renew-page .form-field{margin-bottom:24px}
.renew-page img{max-width:100%}.renew-page pre{max-width:100%;overflow:auto}
.renew-page :is(.page-breadcrumb,.tips-nav){font-weight:900}
.renew-page .page-breadcrumb-list{display:flex;align-items:center;gap:16px;margin:0;padding:0;list-style:none}.renew-page .page-breadcrumb-list li+li::before{content:"/";margin-right:16px;color:#aaa}
:is(.renew-header,.renew-footer) a:focus-visible,.renew-menu-button:focus-visible{outline:3px solid var(--interactive);outline-offset:4px}
.renew-skip-link{position:fixed;z-index:2000;top:8px;left:8px;padding:10px 16px;background:#111;color:var(--on-dark);font:900 14px/1.4 Inter,"Noto Sans JP",sans-serif;border-radius:8px;transform:translateY(-160%)}
.renew-skip-link:focus{transform:none}
.renew-nav a[aria-current="page"]:not(.renew-chip){text-decoration:underline;text-decoration-color:var(--interactive);text-decoration-thickness:3px;text-underline-offset:7px}
@media(max-width:1000px){.renew-nav{padding-inline:24px}.renew-news{padding-inline:24px}.renew-nav nav{gap:16px}.renew-nav img{width:180px}.renew-nav nav>a,.renew-nav-toggle{white-space:nowrap}}
@media(min-width:768px) and (max-width:860px){.renew-nav nav{gap:8px}.renew-nav img{width:150px}}
@media(max-width:767px){.renew-news{padding-inline:16px}.renew-news>a{display:none}.renew-nav{padding:16px 20px;min-height:80px}.renew-menu-button{display:block}.renew-nav nav{display:none;position:absolute;top:100%;left:0;right:0;padding:20px;background:var(--surface-card);border-top:1px solid #ddd;box-shadow:0 12px 20px #0001;align-items:stretch;gap:8px}.renew-nav nav.is-open{display:flex;flex-direction:column}.renew-nav nav>a{padding:12px}.renew-footer{padding:40px 20px 24px}.renew-footer-grid{grid-template-columns:1fr;gap:32px}.renew-legal{flex-wrap:wrap;gap:16px}.renew-legal small{margin-left:0;width:100%}.renew-page :is(.page-main,.dplus-main,.container,.tips-wrap,.hub-wrap){padding-inline:20px;padding-top:144px}.renew-page .page-main,.renew-page .hub-wrap{padding-top:116px}.renew-page .page-main>.panel{padding:24px 0 40px}.renew-page .page-main>.panel:first-of-type,.renew-page .hub-hero{padding-block:48px}.renew-page .hub-hero{width:calc(100vw - 40px)}.renew-page .page-main>.panel:first-of-type,.about-main .about-intro,.renew-page .hub-hero{background-size:120px 120px;background-position:calc(100% + 24px) 24px}.renew-page .hub-hero__title,.renew-page .hub-hero__lead{width:100%;max-width:none;overflow-wrap:anywhere}.renew-page .page-main>.panel:nth-of-type(3n+2)::before{left:-20px;border-radius:0 48px 48px 0}.renew-page h2{font-size:26px}.renew-page :is(.support-card,.service-card,.activity-card,.tips-note){padding:24px}.renew-page .hero{padding:28px}.renew-page :is(.support-grid,.service-grid){grid-template-columns:1fr}.renew-page .tips-note__title{font-size:32px}}
@media(prefers-reduced-motion:reduce){.renew-chip{transition:none}.renew-page *{scroll-behavior:auto!important}.renew-page .disa-type-char,.about-main .disa-type-char,.profile-main .disa-type-char{animation:none;opacity:1}}
.renew-page{--primary-yellow:var(--surface-3);--accent-orange:var(--interactive);--bg-black:var(--surface-dark);--badge-text-color:var(--on-surface-accent);--f-sans:Inter,"Noto Sans JP",sans-serif;--f-en:Inter,"Noto Sans JP",sans-serif}
.renew-page .renew-footer h2{font-size:14px;line-height:1.5}
.renew-page .renew-footer p{font-weight:400}
.renew-page :is(.story-card,.program-card,.value-card){background:var(--surface-card);color:var(--on-surface);border:1px solid var(--surface-3);border-radius:24px;clip-path:none;box-shadow:none}
.renew-page .story-card :is(h3,p,li){color:var(--on-surface)}
.renew-page .card-watermark,.renew-page .story-card::after{display:none}
.renew-page :is(.card-en-sub,.story-card .label){background:var(--surface-2);color:var(--on-surface-accent);border-radius:999px;font-weight:900}
.renew-page .ticker{background:var(--surface-3);color:var(--surface-dark);border:0}
.renew-page :is(.section-label,.section-tag){background:var(--surface-2);color:var(--on-surface-accent);transform:none;border-radius:999px}
.renew-page :is(.cta-section,.contact-cta){background:var(--surface-dark);color:var(--on-dark);border-radius:24px;border:0}
.renew-page .form-actions button,.renew-page button[type="submit"]{background:var(--interactive);color:var(--on-interactive);border:0;border-radius:999px;padding:14px 32px;font-weight:900}
.renew-page .related-strip{background:var(--surface-2);color:var(--on-surface);border:0;border-radius:24px;overflow:hidden}
.renew-page .related-copy{background:var(--surface-card);color:var(--on-surface)}
.renew-page .tips-related{background:#f2f6f7;border-color:#d7e5ea;border-left-color:var(--interactive)}
.renew-page :is(h1,h2,h3,h4,h5,h6,p,li,dt,dd,td,th,figcaption,.sub,.eyebrow,.kicker,.en-label){text-align:left}
.renew-page :is(.detail-card,.support-card,.member-card,.faq-card,.service-card,.activity-card,.partner-card,.hero-content){text-align:left}
.renew-page :is(.tips-nav__link,.tips-author__link,.tips-counter,.tips-logo__sub,.tips-note__num){color:var(--on-surface-muted)}
.renew-page .tips-logo__img{filter:none;opacity:1}
.renew-page :is(.tips-nav__link:hover,.tips-author__link:hover){color:var(--on-surface-accent)}
.renew-page :is(.tips-counter strong,.tips-author__text strong){color:var(--on-surface)}
.renew-page .hub-hero__lead{color:var(--on-surface-body)}
.renew-page .hub-section__heading{color:var(--on-surface-accent)}
.renew-page :is(.hub-note-banner,.hub-note-banner--primary,.hub-note-banner--secondary){background:var(--surface-card);border:1px solid var(--surface-3)}
.renew-page .hub-note-banner--primary{border-color:#d7e5ea}
.renew-page .hub-note-banner__title{color:var(--on-surface)}
.renew-page .hub-note-banner__description,.renew-page .hub-cta-strip__text{color:var(--on-surface-body)}
.renew-page :is(.hub-note-banner__label,.hub-note-banner__link){color:var(--on-surface-accent)}
.renew-page :is(.hub-item__cat,.hub-item__num){color:var(--on-surface-muted)}
.renew-page .hub-tooltip__bubble{background:var(--surface-dark);color:var(--on-dark)}
.renew-page .story-card::before{display:none}
.renew-chip{gap:8px}.renew-chip .material-symbols-outlined{font-size:18px}
.renew-page .member-card{border-radius:24px;border:1px solid var(--surface-3);background:var(--surface-card);box-shadow:none;overflow:hidden}
/* Keep legacy page typography from changing the shared TOP header. */
body .renew-header{font-size:16px;line-height:24px;letter-spacing:normal;font-weight:400}
body .renew-header a{font-family:Inter,"Noto Sans JP",sans-serif;letter-spacing:normal;text-transform:none}
body .renew-header .renew-nav nav>a{font-size:14px;line-height:21px;font-weight:900;margin:0}
body .renew-header .renew-news p,body .renew-header .renew-news a{font-size:11px;line-height:20px;letter-spacing:normal}
body .renew-header .material-symbols-outlined{font-family:"Material Symbols Outlined";font-weight:400;font-style:normal;font-size:18px;line-height:1;letter-spacing:normal;text-transform:none;font-feature-settings:"liga";width:18px;flex-shrink:0}
body .renew-header .renew-menu-button .material-symbols-outlined{font-size:24px;width:24px}
/* Keep legacy page typography from changing the shared footer. */
body .renew-footer{font-size:16px;line-height:24px;letter-spacing:normal;font-weight:400}
body .renew-footer a{font-family:Inter,"Noto Sans JP",sans-serif;letter-spacing:normal;text-transform:none}
body .renew-footer h2{font-size:14px;line-height:1.5;font-weight:900}
body .renew-footer p{font-size:12px;line-height:1.9;font-weight:400}
body .renew-footer-grid>div>a:not(.renew-chip){font-size:12px;line-height:1.5}
body .renew-social a{font-size:11px;line-height:1.5}
body .renew-legal{font-size:11px}
body .renew-legal small{font-size:10px}
.about-map{display:grid;gap:16px;margin-top:24px}.about-map iframe{width:100%;min-height:320px;border:0;border-radius:20px;background:var(--surface-3)}
@media(max-width:767px){body:not(.renew-page) .spot-faq-cta-wrap{width:calc(100% - 40px)}.spot-faq-cta-wrap{margin-top:28px}.spot-cta-card{grid-template-columns:1fr;padding:32px 28px;row-gap:12px}.spot-cta-card .spot-cta-title{font-size:28px}.spot-cta-card .service-banner-btn{grid-column:1;grid-row:auto;margin-top:8px;width:100%}}

/* 下層ページ共通ヘッダー（D+は独自デザインのため対象外） */
body :is(.renew-page .page-main>.panel:first-of-type,.about-main .about-intro,.profile-main>.panel:first-of-type,.renew-page .hub-hero){position:relative;padding-block:72px 80px;text-align:left;background-image:radial-gradient(circle at 72% 50%,transparent 0 72px,rgba(67,128,147,.16) 73px 76px,transparent 77px),linear-gradient(135deg,transparent 0 46%,rgba(67,128,147,.07) 46% 68%,transparent 68%),repeating-linear-gradient(90deg,rgba(17,17,17,.035) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(17,17,17,.035) 0 1px,transparent 1px 18px);background-repeat:no-repeat;background-size:420px 260px;background-position:right 24px center}
body :is(.renew-page .page-main>.panel:first-of-type,.about-main .about-intro,.profile-main>.panel:first-of-type,.renew-page .hub-hero) :is(.eyebrow,.about-eyebrow){display:block;margin:0;color:var(--on-surface-accent);font-size:12px;line-height:1.4;letter-spacing:.16em;font-weight:900}
body :is(.renew-page .page-main>.panel:first-of-type,.about-main .about-intro,.profile-main>.panel:first-of-type) h1,body .renew-page .hub-hero__title{max-width:760px;margin:16px 0 0;color:var(--on-surface);font-size:clamp(40px,5vw,64px);font-weight:900;line-height:1.3;letter-spacing:-.025em}
body :is(.renew-page .page-main>.panel:first-of-type .content-stack,.about-main .about-intro,.profile-main>.panel:first-of-type .content-stack)>p:first-of-type,body .renew-page .hub-hero__lead{max-width:840px;margin-top:24px;color:var(--on-surface);font-size:16px;line-height:1.9;font-weight:900}
body .profile-main{padding-top:116px}
body .profile-main>.page-breadcrumb{padding:28px 64px 0}
body .profile-main>.panel:first-of-type{padding-inline:64px}
@media(max-width:767px){body :is(.renew-page .page-main>.panel:first-of-type,.about-main .about-intro,.profile-main>.panel:first-of-type,.renew-page .hub-hero){padding-block:48px;background-size:120px 120px;background-position:calc(100% + 24px) 24px}body .profile-main>.page-breadcrumb{padding:28px 20px 0}body .profile-main>.panel:first-of-type{padding-inline:20px}}
.u-visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.disa-intro-active{overflow:hidden}
#hero-title .disa-type-char{display:inline-block;opacity:0;animation:none}
#hero-title.is-hero-ready .disa-type-char{animation:disa-title-arrive .48s cubic-bezier(.2,.75,.25,1) both;animation-delay:calc(100ms + var(--char-index)*38ms)}
#hero-title.is-hero-ready .disa-hero-accent .disa-type-char{animation-name:disa-title-hop;animation-duration:.65s}
#hero-title .disa-hero-accent{position:relative}
#hero-title .disa-hero-accent::after{content:"";position:absolute;left:0;right:0;bottom:-.07em;height:3px;background:currentColor;transform:scaleX(0);transform-origin:left;opacity:.65}
#hero-title.is-hero-ready .disa-hero-accent::after{animation:disa-title-underline .55s cubic-bezier(.2,.75,.25,1) 1.5s both}
@keyframes disa-title-arrive{from{opacity:0;transform:translateY(.18em)}to{opacity:1;transform:translateY(0)}}
@keyframes disa-title-hop{0%{opacity:0;transform:translateY(.3em) rotate(4deg)}55%{opacity:1;transform:translateY(-.09em) rotate(-2deg)}80%{transform:translateY(.025em) rotate(0)}100%{opacity:1;transform:translateY(0) rotate(0)}}
@keyframes disa-title-underline{to{transform:scaleX(1)}}
@media(prefers-reduced-motion:reduce){#hero-title .disa-type-char,#hero-title.is-hero-ready .disa-type-char{opacity:1;animation:none;transform:none}#hero-title.is-hero-ready .disa-hero-accent::after{animation:none;transform:scaleX(1)}}
body.disa-color-reveal>:is(.renew-header,main,.renew-footer){filter:grayscale(var(--intro-grayscale,1))}
.disa-intro{position:fixed;inset:0;z-index:10000;margin:0;border:0;padding:0;width:100vw;height:100dvh;max-width:none;max-height:none;overflow:hidden;background:var(--surface);perspective:900px;opacity:1;transition:background-color .3s ease,opacity 2s ease .3s}
.disa-intro::backdrop{background:transparent}
.disa-intro.is-leaving{background:var(--surface-card);opacity:0}
.disa-intro.is-leaving .disa-intro-enter{opacity:0;transition:opacity .3s ease;pointer-events:none}
.disa-intro-enter{position:absolute;left:50%;top:50%;width:min(240px,50vw);transform:translate(-50%,-50%);padding:0;border:0;background:transparent;cursor:pointer;perspective:900px}
.disa-intro-enter:focus{outline:none}
.disa-intro-enter:focus-visible{outline:none;filter:drop-shadow(0 3px 8px #0002)}
.disa-intro-logo{display:block;width:100%;height:auto;opacity:0;animation:disa-intro-resolve .12s 2.24s forwards}
.disa-intro-piece{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;pointer-events:none;animation:disa-intro-assemble 2s linear var(--delay) both,disa-intro-pieces-hide 1ms 2.36s forwards}
@keyframes disa-intro-assemble{0%{opacity:0;transform:translate(var(--x),var(--y)) rotateX(50deg) rotate(var(--r)) scale(1.6)}12%{opacity:.85}52%{opacity:.85;transform:translate(calc(var(--x) * .15),calc(var(--y) * .15)) rotateX(0deg) rotate(0deg) scale(.45);animation-timing-function:cubic-bezier(.2,.6,.25,1)}100%{opacity:1;transform:translate(0,0) rotateX(0deg) rotate(0deg) scale(1)}}
@keyframes disa-intro-resolve{to{opacity:1}}
@keyframes disa-intro-pieces-hide{to{visibility:hidden}}
@media(prefers-reduced-motion:reduce){.disa-intro,.disa-intro-logo,.disa-intro-piece{animation:none;transition:none}.disa-intro-logo{opacity:1}.disa-intro-piece{display:none}}

/* TOP is the canonical header width on every renewal page. */
body .renew-header :is(.renew-news,.renew-nav){width:var(--renew-content-width);max-width:1280px;margin-inline:auto;padding-inline:0}
@media(min-width:768px){:root{--renew-gutter:32px}}
@media(min-width:1024px){:root{--renew-gutter:64px}}
body .renew-header .renew-nav nav{font-weight:700}
body .renew-header .renew-menu-button{font:400 16px/24px Inter,"Noto Sans JP",sans-serif}
body .renew-header .renew-nav nav>a{color:var(--on-surface)}
body .renew-header .renew-nav nav>a.renew-chip{color:var(--on-dark)}
body .renew-header .renew-nav nav{flex-wrap:nowrap}
body .renew-header .renew-nav nav>a:not(.renew-chip)::after{content:none}
body .renew-header .renew-nav nav>a:not(.renew-chip):hover{transform:none}

/* Lower-page content and footer share the TOP header's content edges. */
body.renew-page :is(.page-main,.container,.tips-wrap,.hub-wrap),
body .about-main .about-wrap,
body .profile-main>:is(.page-breadcrumb,.panel,.panel:first-of-type,.slider-2col){box-sizing:border-box;width:var(--renew-content-width);max-width:1280px;margin-inline:auto;padding-inline:0}
body .renew-footer{padding-inline:0}
body .renew-footer>:is(.renew-footer-grid,.renew-legal){width:var(--renew-content-width);max-width:1280px;margin-inline:auto}
body:not(.renew-page) .spot-faq-cta-wrap{width:var(--renew-content-width);max-width:1280px}
body.renew-page .spot-faq-cta-wrap{width:100%;max-width:none}
body.renew-page .page-main>.panel:nth-of-type(3n+2)::before{left:calc((100% - 100vw)/2)}

/* Breadcrumbs must not depend on the legacy page stylesheet. */
body.renew-page .page-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin:0;justify-content:flex-start;text-align:left;font-size:clamp(12px,.95vw,14px);font-weight:900;color:var(--on-surface-muted);line-height:1.5;min-height:20px;border-radius:0}
body.renew-page .page-breadcrumb a{display:inline-flex;align-items:center;color:var(--on-surface-muted);font-weight:700;text-decoration:none;border-bottom:1px solid #cfcfcf}
body.renew-page .page-breadcrumb-list{flex-wrap:wrap;justify-content:flex-start;line-height:1.5;min-height:20px}
body.renew-page .hub-wrap{margin-top:28px}

/* Direction guide: production process and role map. */
.page-direction .direction-process{margin-top:28px}
.page-direction .direction-process-block{padding:24px;border:1px solid #ddd;border-radius:20px;background:var(--surface-2)}
.page-direction .direction-process-block+.direction-process-block{margin-top:20px}
.page-direction .direction-process-label{display:inline-block;margin:0 0 16px;padding:6px 12px;border-radius:999px;background:#ddd;color:var(--on-surface);font-size:13px;line-height:1.5;font-weight:900;letter-spacing:.02em}
.page-direction .direction-process-waterfall{display:grid;grid-template-columns:1.1fr 1.8fr 1fr 1.9fr;gap:10px}
.page-direction .direction-process-column{display:flex;flex-direction:column;gap:8px;min-width:0}
.page-direction .direction-process-column h4{margin:0;padding:10px 12px;border-radius:10px;background:var(--interactive);color:var(--on-interactive);font-size:14px;line-height:1.4;text-align:center}
.page-direction .direction-process-item{display:flex;flex:1;align-items:center;justify-content:center;min-height:58px;padding:12px;border:1px solid #ddd;border-radius:10px;background:var(--surface-card);color:var(--on-surface);font-size:13px;line-height:1.55;font-weight:700;text-align:center}
.page-direction .direction-process-agile{display:flex;align-items:stretch;gap:8px}
.page-direction .direction-process-milestone{display:flex;flex:0 0 104px;align-items:center;justify-content:center;padding:12px;border:1px solid #ccc;border-radius:10px;background:#ddd;color:var(--on-surface);font-size:14px;font-weight:900;text-align:center}
.page-direction .direction-process-sprint{display:grid;flex:1;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;padding:12px;border:1px dashed #315e6c;border-radius:12px;background:#f2f6f7}
.page-direction .direction-process-sprint strong{grid-column:1/-1;color:var(--on-surface-accent);font-size:11px;letter-spacing:.08em;text-align:center}
.page-direction .direction-process-sprint span{padding:9px 5px;border:1px solid #ddd;border-radius:8px;background:var(--surface-card);color:var(--on-surface);font-size:12px;font-weight:700;text-align:center}
.page-direction .direction-process-arrow{align-self:center;color:#707070;font-size:18px;font-weight:900}
.page-direction .direction-process-hint{margin:20px 0 0;padding:14px 18px;border:1px solid #b8cfd7;border-radius:12px;background:#f2f6f7;color:#274b56;font-size:14px;line-height:1.7}
@media(max-width:767px){.page-direction .direction-process-block{padding:20px}.page-direction .direction-process-waterfall{grid-template-columns:1fr}.page-direction .direction-process-agile{flex-direction:column}.page-direction .direction-process-arrow{transform:rotate(90deg)}.page-direction .direction-process-milestone{flex-basis:auto;min-height:52px}.page-direction .direction-process-sprint{grid-template-columns:repeat(2,minmax(0,1fr))}}
.renew-nav-group{position:relative;display:flex;align-items:center}
.renew-nav-toggle{display:inline-flex;align-items:center;gap:2px;border:0;background:none;color:var(--on-surface);font:900 14px/21px Inter,"Noto Sans JP",sans-serif;padding:0;cursor:pointer;text-decoration:none;text-decoration-color:var(--interactive);text-decoration-thickness:3px;text-underline-offset:7px}
.renew-nav-toggle>.material-symbols-outlined{font-size:18px;transition:transform .2s ease}.renew-nav-toggle[aria-expanded="true"]>.material-symbols-outlined{transform:rotate(180deg)}
.renew-nav-group:has([aria-current="page"])>.renew-nav-toggle{text-decoration:underline;text-decoration-color:var(--interactive);text-decoration-thickness:3px;text-underline-offset:7px}
.renew-submenu{position:absolute;z-index:10;top:calc(100% + 14px);left:0;min-width:240px;padding:8px;display:flex;flex-direction:column;background:var(--surface-card);border-radius:16px;box-shadow:0 12px 28px #0002}
.renew-submenu[hidden]{display:none}.renew-submenu>a{display:flex;align-items:center;min-height:44px;padding:10px 12px;border-radius:8px;color:var(--on-surface);font-size:14px;line-height:1.5;font-weight:700;white-space:nowrap}.renew-submenu>a:hover,.renew-submenu>a:focus-visible{background:var(--surface-2)}.renew-submenu>a[aria-current="page"]{text-decoration:underline;text-decoration-color:var(--interactive);text-decoration-thickness:3px;text-underline-offset:5px}
@media(max-width:767px){.renew-nav-group{display:block}.renew-nav-toggle{width:100%;justify-content:space-between;padding:12px}.renew-submenu{position:static;min-width:0;margin-left:16px;padding:4px 0 8px;box-shadow:none;border-radius:0}.renew-submenu>a{white-space:normal}}
@media(prefers-reduced-motion:reduce){.renew-nav-toggle>.material-symbols-outlined{transition:none}}
[id]{scroll-margin-top:132px}
.renew-nav-group:has([aria-current="page"])>.renew-nav-toggle{text-decoration:none;box-shadow:inset 0 -3px var(--interactive)}

.service-banner span.service-banner-avatar{box-sizing:border-box;width:112px;height:112px;display:flex;align-items:center;justify-content:center;border:3px solid var(--circle-border,var(--surface-3));border-radius:999px;background:var(--surface-card);color:var(--on-surface-accent);font-size:48px;line-height:1;margin-inline:auto}

.renew-footer h2>a{text-decoration:none}.renew-footer h2>a:hover,.renew-footer h2>a:focus-visible{color:var(--interactive)}
@media(min-width:768px) and (max-width:1000px){.renew-footer-grid{grid-template-columns:repeat(4,1fr)}.renew-footer-grid>div:nth-child(1){grid-column:1/3;grid-row:1}.renew-footer-grid>div:nth-child(6){grid-column:3/5;grid-row:1}}

.page-breadcrumb-list{display:flex;flex-wrap:wrap}
.about-main,.profile-main{padding-top:144px}
.profile-main>.page-breadcrumb{font-size:inherit}
/* News: the headline is rendered twice so the marquee can loop without a gap. The spare copy is hidden unless it scrolls. */
body .renew-header .renew-news p>span{display:inline-flex;gap:48px;white-space:nowrap}body .renew-header .renew-news p:not([data-marquee])>span>.renew-news-spare{display:none}
/* News bar on phones: long titles scroll (marquee); the detail link stays pinned on the right. */
@media(max-width:767px){body .renew-header .renew-news>a{display:inline-flex;align-items:center;flex-shrink:0}body .renew-header .renew-news p{min-width:0}body .renew-header .renew-news p[data-marquee]{text-overflow:clip}body .renew-header .renew-news p[data-marquee]>span{animation:renew-news-marquee var(--news-marquee-duration,16s) linear infinite}body .renew-header .renew-news:is(:hover,:focus-within) p[data-marquee]>span{animation-play-state:paused}}
@keyframes renew-news-marquee{to{transform:translateX(calc(-50% - 24px))}}
/* main.js adds its own .skip-link; renewal.js already provides .renew-skip-link on every page, so hide the legacy one (avoids a duplicate and a visible link on pages without page-content.css). */
.skip-link{display:none}
/* Submenu: the first item ("…トップ") is the section entry — bold, round arrow on the right, divider below. */
.renew-submenu>a:first-child{position:relative;padding-right:56px;font-weight:900;margin-bottom:8px;border-bottom:1px solid #ddd;border-radius:8px 8px 0 0}
.renew-submenu>a:first-child::after{content:"arrow_forward";position:absolute;right:12px;top:50%;transform:translateY(-50%);display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;background:#d7e5ea;color:#315e6c;font-family:"Material Symbols Outlined";font-weight:400;font-style:normal;font-size:18px;line-height:1;letter-spacing:normal;text-transform:none;font-feature-settings:"liga";-webkit-font-feature-settings:"liga";text-decoration:none;transition:transform .2s ease}
.renew-submenu>a:first-child:is(:hover,:focus-visible)::after{transform:translate(2px,-50%)}
@media(prefers-reduced-motion:reduce){.renew-submenu>a:first-child::after{transition:none}}
/* Phone menu: underline only the text of the current section's toggle (not the full-width row). The chevron is taken out of flow so the underline does not reach it. */
@media(max-width:767px){.renew-nav-toggle{position:relative;padding-right:48px}.renew-nav-toggle>.material-symbols-outlined{position:absolute;right:12px;top:calc(50% - 9px)}.renew-nav-group:has([aria-current="page"])>.renew-nav-toggle{box-shadow:none;text-decoration:underline;text-decoration-color:#438093;text-decoration-thickness:3px;text-underline-offset:7px}}

/* accent-theme: 補修。data-accent が付いたときだけ効く（既定の青緑では効かない）。青緑を直書きしている箇所を、トークン／無彩色に寄せる */
:root[data-accent] .disa-hero-accent{color:var(--on-dark-accent)}
:root[data-accent] .renew-news>span{background:var(--surface-2)}
:root[data-accent] body :is(.renew-page .page-main>.panel:first-of-type,.about-main .about-intro,.profile-main>.panel:first-of-type,.renew-page .hub-hero){background-image:radial-gradient(circle at 72% 50%,transparent 0 72px,rgba(17,17,17,.16) 73px 76px,transparent 77px),linear-gradient(135deg,transparent 0 46%,rgba(17,17,17,.07) 46% 68%,transparent 68%),repeating-linear-gradient(90deg,rgba(17,17,17,.035) 0 1px,transparent 1px 18px),repeating-linear-gradient(0deg,rgba(17,17,17,.035) 0 1px,transparent 1px 18px)}
:root[data-accent] :is(.renew-chip,.renew-page .service-banner-btn,.profile-main .service-banner-btn,.spot-cta-card .service-banner-btn,.renew-page .works-tile-btn,.renew-page .button-primary,.renew-page .btn-primary,.renew-page .tips-cta,.renew-page .hub-sticky-cta,.disa-link-chip,a.bg-primary,footer a[data-path="contact"]):is(:hover,:focus-visible){background:var(--interactive);color:var(--on-interactive)}
:root[data-accent] .renew-page .tips-related{background:var(--surface-2);border-color:var(--surface-3);border-left-color:var(--interactive)}
:root[data-accent] .renew-page .hub-note-banner--primary{border-color:var(--surface-3)}
:root[data-accent] .page-direction .direction-process-sprint{background:var(--surface-2);border-color:var(--surface-3)}
:root[data-accent] .page-direction .direction-process-hint{background:var(--surface-2);border-color:var(--surface-3);color:var(--on-surface-accent)}
:root[data-accent] .renew-submenu>a:first-child::after{background:var(--surface-2);color:var(--on-surface-accent)}
:root[data-accent] .renew-nav-group:has([aria-current="page"])>.renew-nav-toggle{text-decoration-color:var(--interactive)}
:root[data-accent] :is(.renew-header,.renew-footer) a:focus-visible{outline-color:var(--on-surface)}
:root[data-accent] .renew-menu-button:focus-visible{outline-color:var(--on-surface)}
:root[data-accent] .renew-footer h2>a:is(:hover,:focus-visible){color:var(--on-surface-accent)}
:root[data-accent] :is(.bg-primary,.bg-secondary,.bg-secondary-fixed){background-color:var(--interactive);color:var(--on-interactive)}
:root[data-accent] .bg-secondary-container{background-color:var(--surface-2);color:var(--on-surface-accent)}
:root[data-accent] :is(.text-secondary,.text-on-secondary-container){color:var(--on-surface-accent)}
:root[data-accent] .text-on-primary{color:var(--on-interactive)}
:root[data-accent] .hover\:bg-secondary:hover{background-color:var(--interactive);color:var(--on-interactive)}
:root[data-accent] .hover\:text-secondary:hover{color:var(--on-surface-accent)}
:root[data-accent] .hover\:text-on-secondary:hover{color:var(--on-interactive)}
:root[data-accent] .group:hover .group-hover\:text-secondary{color:var(--on-surface-accent)}
:root[data-accent] .about-eyebrow{color:var(--on-surface-accent)}
:root[data-accent] .info-table a{color:var(--on-surface-accent)}
:root[data-accent] .profile-main .eyebrow{color:var(--on-surface-accent)}
:root[data-accent] .profile-main .en-label{color:var(--on-surface-accent)}
:root[data-accent] .profile-main .profile-tags{color:var(--on-surface-accent)}
:root[data-accent] .profile-main .support-icon{color:var(--on-surface-accent)}
:root[data-accent] .vision-card:first-child .about-eyebrow{color:var(--on-dark-accent)}
:root[data-accent] .profile-main .values-slider-fill{background:var(--interactive)}
:root[data-accent] .profile-main .values-slider-dot{background:var(--interactive)}
:root[data-accent] .disa-direction-card::before{background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.12) 40%,rgba(255,255,255,.03) 52%,transparent 65%),radial-gradient(ellipse at 75% 65%,rgba(17,17,17,.18),transparent 55%)}
:root[data-accent] body .renew-header .renew-nav nav>a.renew-chip{color:var(--on-interactive)}
:root[data-accent] .inquiry-note a{color:var(--on-surface-accent)}
:root[data-accent] body.renew-page .tips-related__label{color:var(--on-interactive)}
/* /accent-theme 補修 */

/* accent-theme: パレット。色を足すときは、このブロックを1つコピーして名前と値を変える */
:root[data-accent="lime"]{
  --brand:#d7ff00;
  --interactive:#d7ff00;
  --on-interactive:#111111;
  --on-dark-accent:#d7ff00;
  --on-surface-accent:#111111;
}
/* /accent-theme パレット */

/* TOP: business support rows with a sticky heading and a large counter. */
.disa-support-list{display:flex;flex-direction:column;border-bottom:1px solid #d4d4d4}
.disa-support-row{position:relative;isolation:isolate;display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"no body arrow";align-items:center;gap:24px;padding:32px 24px;border-top:1px solid #d4d4d4;color:#111;text-decoration:none;transition:color .35s ease}
.disa-support-row::before{content:"";position:absolute;inset:8px 0;z-index:-1;border-radius:24px;background:var(--interactive);transform:scaleX(0);transform-origin:left center;transition:transform .45s cubic-bezier(.2,.8,.2,1)}
.disa-support-row:is(:hover,:focus-visible){color:var(--on-interactive)}
.disa-support-row:is(:hover,:focus-visible)::before{transform:scaleX(1)}
.disa-support-row:focus-visible{outline:3px solid var(--interactive);outline-offset:4px}
.disa-support-no{grid-area:no;font-family:Inter,sans-serif;font-size:clamp(48px,6vw,96px);font-weight:900;font-variant-numeric:tabular-nums;line-height:.9;letter-spacing:-.05em;color:#c8c8c8;transition:color .35s ease}
.disa-support-row.is-current .disa-support-no{color:var(--on-surface-accent)}
.disa-support-row:is(:hover,:focus-visible) .disa-support-no{color:var(--on-interactive)}
.disa-support-body{grid-area:body;display:flex;flex-direction:column;gap:8px}
.disa-support-title{font-size:clamp(22px,2.4vw,32px);font-weight:900;line-height:1.3;letter-spacing:-.01em}
.disa-support-lead{font-size:15px;font-weight:400;line-height:1.7;color:#444;transition:color .35s ease}
.disa-support-row:is(:hover,:focus-visible) .disa-support-lead{color:var(--on-interactive)}
.disa-support-arrow{grid-area:arrow;font-size:32px;transition:transform .35s ease}
.disa-support-row:is(:hover,:focus-visible) .disa-support-arrow{transform:translateX(6px)}
.disa-support-counter{display:none}
.disa-support-intro>a{align-self:flex-start}
.disa-support-motion .disa-support-row{opacity:0;transform:translateY(56px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1),color .35s ease}
.disa-support-motion .disa-support-row.is-in{opacity:1;transform:none}
@media(max-width:767px){
 .disa-support-row{grid-template-columns:1fr auto;grid-template-areas:"no arrow" "body body";gap:12px 16px;padding:28px 16px}
 .disa-support-no{font-size:40px}
}
@media(min-width:1024px){
 .disa-support-intro{position:sticky;top:148px}
 .disa-support-row{min-height:36vh;padding:40px 32px}
 .disa-support-counter{display:flex;align-items:flex-end;gap:8px;padding-top:64px;font-family:Inter,sans-serif;font-weight:900;font-variant-numeric:tabular-nums;line-height:.8;letter-spacing:-.06em;color:#111}
 .disa-support-counter-no{display:inline-block;overflow:hidden;font-size:clamp(120px,12vw,184px)}
 .disa-support-counter-no>span{display:inline-block}
 .disa-support-counter-no.is-changing>span{animation:disa-counter-up .5s cubic-bezier(.2,.8,.2,1)}
 .disa-support-counter-total{padding-bottom:10px;font-size:28px;color:#9a9a9a;letter-spacing:0}
}
@keyframes disa-counter-up{from{transform:translateY(100%)}to{transform:none}}
@media(prefers-reduced-motion:reduce){
 .disa-support-row,.disa-support-row::before,.disa-support-no,.disa-support-lead,.disa-support-arrow{transition:none}
 .disa-support-motion .disa-support-row{opacity:1;transform:none;transition:none}
 .disa-support-counter-no.is-changing>span{animation:none}
}
/* TOP: activity mirrors business support - cards on the left, sticky heading and counter on the right. */
.disa-activity .disa-activity-layout{gap:2rem}
.disa-activity .disa-count-motion>*{opacity:0;transform:translateY(56px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.8,.2,1),box-shadow .3s ease}
.disa-activity .disa-count-motion>.is-in{opacity:1;transform:none}
@media(min-width:1024px){
 .disa-activity .disa-activity-layout{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:3rem;align-items:start}
 .disa-activity-layout>.disa-activity-intro{grid-column:8/span 5;grid-row:1;position:sticky;top:148px;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:16px}
 .disa-activity-layout>.disa-activity-list{grid-column:1/span 7;grid-row:1;display:flex;flex-direction:column;gap:1.5rem}
 .disa-activity-intro .disa-support-counter{padding-top:48px}
}
@media(prefers-reduced-motion:reduce){.disa-activity .disa-count-motion>*{opacity:1;transform:none;transition:none}}
