/* Keep the adopted case canvas inside the real SWELL shared chrome. */
#body_wrap:has(.cases-page) #content.l-content.l-container{width:100%;max-width:none;margin-top:0;margin-bottom:0;padding:0}
#body_wrap:has(.cases-page) #breadcrumb.p-breadcrumb{display:none}
.cases-page{--case-navy:#04384c;--case-ink:#202e35;--case-muted:#53636a;--case-line:#d8dfe0;--case-paper:#f5f5f1;--case-serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif}
html{scroll-behavior:smooth;scroll-padding-top:110px}.prototype-strip{background:var(--case-paper);color:#465961;font-size:12px;line-height:1.6;padding:8px 24px;text-align:center;border-bottom:1px solid var(--case-line)}.skip-link{position:fixed;left:12px;top:-100px;z-index:999999;background:#04384c;color:#fff;padding:14px}.skip-link:focus{top:12px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.cases-page{color:var(--case-ink);font:16px/1.85 -apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}.cases-page *{box-sizing:border-box}.cases-page p,.cases-page h1,.cases-page h2,.cases-page h3,.cases-page ol,.cases-page ul{margin:0}.cases-page a{color:inherit;text-decoration:none}.cases-page button{font:inherit}.cases-page :focus-visible{outline:3px solid #087b9a;outline-offset:5px}.cases-wrap{max-width:1200px;width:calc(100% - 96px);margin:auto}.case-breadcrumb{padding:22px 0 0;font-size:12px;color:var(--case-muted)}.case-breadcrumb ol{display:flex;flex-wrap:wrap;list-style:none;gap:5px 10px;padding:0}.case-breadcrumb li:not(:last-child):after{content:"/";margin-left:10px;color:#9ba8ad}.case-breadcrumb a{text-decoration:underline;text-underline-offset:3px}.cases-page .eyebrow{font-size:13px;line-height:1.5;letter-spacing:.1em;color:var(--case-muted);font-weight:600;margin-bottom:18px}.case-hub-hero{display:grid;grid-template-columns:1.2fr 1fr;gap:100px;padding:64px 0 72px;align-items:center}.cases-page h1{font-family:var(--case-serif);font-weight:600;font-size:46px;line-height:1.5;letter-spacing:.025em}.case-hub-hero .eyebrow{display:none}.case-hub-hero .case-lead{font-family:var(--case-serif);font-size:30px;line-height:1.6;margin:25px 0 20px;letter-spacing:.025em}.case-hub-hero>div>p:last-child{color:var(--case-muted)}.case-reading{border-left:1px solid var(--case-line);padding-left:40px}.case-reading>p{font-size:13px;letter-spacing:.1em;color:var(--case-muted);margin-bottom:16px}.case-reading ol{list-style:none;padding:0}.case-reading li{display:flex;justify-content:space-between;gap:18px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--case-line)}.case-reading span{font-family:var(--case-serif);font-size:20px;white-space:nowrap}.case-reading small{font-size:12px;color:var(--case-muted)}.case-catalog{padding:52px 0 0;border-top:1px solid var(--case-line)}.case-section-head{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:26px}.cases-page h2{font:600 30px/1.6 var(--case-serif);letter-spacing:.02em}.case-section-head .eyebrow{margin-bottom:10px}.case-section-head>p{font-size:13px;color:var(--case-muted)}.case-filters{display:flex;gap:10px;flex-wrap:wrap}.case-filters button{border:1px solid var(--case-line);background:#fff;min-height:46px;padding:9px 22px;border-radius:2px;cursor:pointer;font-size:14px;color:var(--case-ink)}.case-filters button[aria-pressed=true]{background:var(--case-navy);border-color:var(--case-navy);color:#fff}.case-filters button:hover{border-color:var(--case-navy)}.cases-page .case-count{font-size:13px;color:var(--case-muted);margin:18px 0}.case-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.case-card{display:flex;flex-direction:column;border:1px solid var(--case-line);background:#fff;padding:30px 32px 24px;transition:border-color .2s}.case-card:hover{border-color:var(--case-navy)}.case-card[hidden]{display:none}.case-card__overline{display:flex;flex-wrap:wrap;align-items:center;gap:7px 16px;color:var(--case-muted);font-size:12px;line-height:1.7;margin-bottom:18px}.case-card__overline>span:first-child{color:var(--case-navy);font-weight:600}.cases-page .case-card h3{font:600 25px/1.6 var(--case-serif);letter-spacing:.015em;margin-bottom:18px}.case-card h3 a:hover{text-decoration:underline;text-underline-offset:5px}.case-card__summary{font-size:15px;line-height:1.9;color:#44565e}.case-card__scope{border-left:2px solid var(--case-navy);padding-left:15px;margin:24px 0 20px}.case-label{display:block;color:var(--case-muted);font-size:12px;letter-spacing:.06em;margin-bottom:7px}.case-card__scope p{font-size:15px}.case-tags{display:flex;flex-wrap:wrap;gap:6px 8px}.case-tags>span{display:inline-block;font-size:11px;line-height:1.7;padding:4px 8px;background:var(--case-paper);color:#41575f}.case-card .case-tags{margin-top:auto;margin-bottom:20px}.case-card__link{border-top:1px solid var(--case-line);padding-top:17px;display:flex;justify-content:space-between;align-items:center;font-size:14px;min-height:45px;color:var(--case-navy)!important}.case-card__link>span:last-child{font-size:21px}.case-cta{background:var(--case-paper);padding:44px 48px;margin:72px 0;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center}.case-cta h2{font-size:29px}.case-cta p:last-child{font-size:14px;color:var(--case-muted);margin-top:15px}.case-cta__actions{max-width:350px;justify-self:end;width:100%;display:flex;flex-direction:column;gap:13px}.case-button{display:flex;justify-content:space-between;align-items:center;background:var(--case-navy);color:white!important;padding:18px 24px;min-height:58px;font-weight:600}.case-button:hover{background:#155269}.text-link{font-size:14px;min-height:44px;display:inline-flex;align-items:center;gap:12px;text-decoration:underline!important;text-underline-offset:5px}.case-detail-hero{max-width:940px;padding:58px 0 38px}.case-detail-hero h1{font-size:38px;line-height:1.65;max-width:930px;text-wrap:pretty}.case-detail-target{font-size:14px;color:var(--case-muted);margin-top:23px!important}.case-detail-intro{max-width:850px;font-size:17px;line-height:1.95;margin:20px 0 24px!important}.case-brief{display:grid;grid-template-columns:1fr 1.5fr;background:var(--case-paper);padding:24px 32px;gap:36px;margin-bottom:60px}.case-brief>div+div{border-left:1px solid var(--case-line);padding-left:32px}.case-brief p{font-size:15px}.case-detail-layout{display:grid;grid-template-columns:minmax(0,790px) 240px;gap:100px;align-items:start}.case-story section{padding-bottom:48px;margin-bottom:48px;border-bottom:1px solid var(--case-line);scroll-margin-top:120px}.case-story section:last-child{margin-bottom:0}.case-story .eyebrow{margin-bottom:11px}.case-story h2{margin-bottom:24px}.case-story p+p{margin-top:16px}.case-story p{line-height:2}.case-decision{background:var(--case-paper);padding:30px 32px!important;border:none!important}.case-work-intro{margin-bottom:28px!important;color:#435963}.case-work-list{list-style:none;padding:0;counter-reset:work}.case-work-list li{position:relative;padding:22px 0 22px 44px;border-top:1px solid var(--case-line);counter-increment:work}.case-work-list li:before{content:counter(work,decimal-leading-zero);position:absolute;left:0;top:25px;font:13px/1.8 Georgia,serif;color:var(--case-navy)}.case-scope-note{font-size:14px;color:var(--case-muted);border-left:2px solid var(--case-line);padding-left:16px;margin-top:26px!important}.case-toc{position:sticky;top:120px;border-top:2px solid var(--case-navy);padding-top:18px;font-size:13px}.case-toc>p{font-weight:600;margin-bottom:12px}.case-toc>a{display:flex;align-items:center;min-height:44px;border-bottom:1px solid var(--case-line);gap:10px}.case-toc a:hover{text-decoration:underline}.case-toc-back{margin-top:18px}.case-related{margin-top:62px;scroll-margin-top:120px}.case-related-note{font-size:14px;color:var(--case-muted);margin-top:-6px!important;margin-bottom:24px!important}.case-service-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.case-service{position:relative;border:1px solid var(--case-line);padding:21px 50px 21px 24px;display:flex;flex-direction:column;justify-content:center;min-height:116px}.case-service:hover{border-color:var(--case-navy);background:var(--case-paper)}.case-service>span{font-size:12px;color:var(--case-muted);margin-bottom:8px}.case-service strong{font-size:16px;font-weight:600;line-height:1.7}.case-service b{position:absolute;right:22px;top:45px;font-weight:400;color:var(--case-navy)}.case-pager{display:grid;grid-template-columns:1fr auto 1fr;border-top:1px solid var(--case-line);margin:0 0 70px;gap:30px;padding-top:24px}.case-pager>a{display:flex;flex-direction:column;min-height:60px}.case-pager small{font-size:12px;color:var(--case-muted);margin-bottom:10px}.case-pager span{font-size:14px}.case-pager-hub{font-size:13px;justify-content:center;padding:0 24px;border-left:1px solid var(--case-line);border-right:1px solid var(--case-line)}.case-pager>a:last-child{text-align:right}.case-pager a:hover{text-decoration:underline}#sp_menu a{min-height:44px}#sp_menu button{min-height:44px;min-width:44px}
@media(max-width:1100px){.cases-wrap{width:calc(100% - 64px)}.case-hub-hero{gap:42px}.case-reading{padding-left:26px}.case-reading li{display:block}.case-reading small{display:block;margin-top:4px}.case-detail-layout{grid-template-columns:minmax(0,1fr) 210px;gap:44px}.case-cta{padding:36px;gap:30px}}
@media(max-width:767px){html{scroll-padding-top:86px}.prototype-strip{font-size:10px;padding:7px 12px}.cases-wrap{width:calc(100% - 40px)}.case-breadcrumb{padding-top:17px;font-size:10px;line-height:1.8}.case-breadcrumb li{max-width:100%}.case-hub-hero{display:block;padding:36px 0 38px}.cases-page h1{font-size:34px}.case-hub-hero .case-lead{font-size:25px;margin:20px 0 16px}.case-hub-hero>div>p:last-child{font-size:14px;line-height:1.9}.pc-only{display:none}.case-reading{border-left:0;border-top:1px solid var(--case-line);padding:24px 0 0;margin-top:28px}.case-reading>p{font-size:11px;margin-bottom:6px}.case-reading li{display:flex;padding:12px 0;gap:12px}.case-reading span{font-size:17px}.case-reading small{font-size:11px;margin:0}.case-catalog{padding-top:32px}.cases-page h2{font-size:25px;line-height:1.6}.case-section-head{display:block;margin-bottom:22px}.case-section-head>p{margin-top:14px;font-size:12px}.cases-page .eyebrow{font-size:11px;margin-bottom:14px}.case-section-head .eyebrow{margin-bottom:9px}.case-filters{gap:8px}.case-filters button{font-size:12px;min-height:44px;padding:9px 13px}.cases-page .case-count{font-size:12px;margin:17px 0}.case-grid{grid-template-columns:1fr;gap:18px}.case-card{padding:24px 22px 18px}.case-card__overline{font-size:11px;gap:5px 12px;margin-bottom:15px}.cases-page .case-card h3{font-size:23px;line-height:1.65;margin-bottom:16px}.case-card__summary{font-size:14px;line-height:1.95}.case-card__scope{margin:22px 0 18px}.case-card__scope p{font-size:14px}.case-label{font-size:11px}.case-tags{gap:6px}.case-tags>span{font-size:10px;padding:4px 7px}.case-card__link{font-size:13px;padding-top:15px}.case-cta{display:block;padding:28px 24px;margin:44px 0}.case-cta h2{font-size:26px}.case-cta p:last-child{font-size:13px;margin-top:15px}.case-cta__actions{max-width:none;margin-top:24px;gap:8px}.case-button{font-size:14px;padding:17px 20px;min-height:56px}.text-link{font-size:13px}.case-detail-hero{padding:34px 0 26px}.case-detail-hero h1{font-size:28px;line-height:1.65;letter-spacing:.01em}.case-detail-target{font-size:12px;margin-top:18px!important}.case-detail-intro{font-size:15px;line-height:1.95;margin:16px 0 20px!important}.case-brief{grid-template-columns:1fr;padding:22px 24px;gap:18px;margin-bottom:32px}.case-brief>div+div{border-left:0;padding-left:0;border-top:1px solid var(--case-line);padding-top:17px}.case-brief p{font-size:14px}.case-detail-layout{display:flex;flex-direction:column;gap:32px}.case-story{order:2;width:100%}.case-toc{order:1;position:static;width:100%;padding-top:15px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px;font-size:12px}.case-toc>p{grid-column:1/-1;margin-bottom:8px}.case-toc .case-toc-back{margin-top:0}.case-story section{padding-bottom:32px;margin-bottom:32px;scroll-margin-top:90px}.case-story h2{margin-bottom:20px;font-size:24px}.case-story p{font-size:15px;line-height:2}.case-story .eyebrow{font-size:11px;margin-bottom:9px}.case-decision{padding:24px!important}.case-work-intro{margin-bottom:22px!important}.case-work-list li{padding:20px 0 20px 34px}.case-work-list li:before{top:23px;font-size:12px}.case-story .case-scope-note{font-size:13px;line-height:1.9}.case-related{margin-top:38px}.case-related .case-section-head{margin-bottom:16px}.case-related .text-link{margin-top:8px}.case-related-note{font-size:13px}.case-service-grid{grid-template-columns:1fr;gap:12px}.case-service{min-height:110px;padding:19px 44px 19px 20px}.case-service>span{font-size:11px}.case-service strong{font-size:15px}.case-service b{right:20px;top:42px}.case-pager{grid-template-columns:1fr 1fr;gap:22px;margin-bottom:46px;padding-top:20px}.case-pager-hub{grid-column:1/-1;grid-row:2;border-left:0;border-right:0;border-top:1px solid var(--case-line);padding:16px 0 0;min-height:48px!important;align-items:center}.case-pager span{font-size:12px;line-height:1.8}.case-pager small{font-size:11px}.case-pager>a:last-child{text-align:left}}
@media(max-width:359px){.case-reading li{display:block}.case-reading small{margin-top:4px}.case-toc{grid-template-columns:1fr}.case-filters button{padding:9px 11px}.case-detail-hero h1{font-size:26px}.case-card{padding:22px 19px}.case-cta{padding:26px 20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.cases-page *{transition:none!important}}

.case-keep{display:inline-block}.case-detail-hero h1,.case-card h3{text-wrap:balance}
@media(max-width:767px){.case-reading{padding-top:18px;margin-top:24px}.case-reading ol{display:flex;gap:14px}.case-reading li{display:block;flex:1;padding:8px 0 0;border:0}.case-reading span{font:600 12px/1.8 -apple-system,BlinkMacSystemFont,"Yu Gothic",sans-serif;white-space:normal}.case-reading small{display:none}.case-reading>p{font-size:10px}.case-hub-hero{padding-bottom:28px}.case-hub-hero .case-lead{font-size:24px}.case-catalog{padding-top:28px}}

.case-title-line{display:inline-block;max-width:100%}.case-detail-hero h1,.case-card h3{text-wrap:initial}@media(max-width:767px){.case-title-line{display:block}.case-reading{display:none}.case-hub-hero{padding-bottom:30px}.case-filters button{font-size:11px;padding:9px 11px}.case-filters{gap:6px}}

.cases-page .case-filter-note{font-size:12px;color:var(--case-muted);line-height:1.8;margin-top:14px}.cases-page .case-count{margin-top:10px}


.cases-page .case-hub-hero--simple{display:block;padding:38px 0 30px}
.cases-page .case-hub-hero--simple h1{font-size:42px;line-height:1.55;letter-spacing:.04em}
@media(max-width:767px){.cases-page .case-hub-hero--simple{padding:28px 0 24px}.cases-page .case-hub-hero--simple h1{font-size:30px;line-height:1.6}}

.case-catalog .case-filters{margin-bottom:24px}@media(max-width:767px){.case-catalog .case-filters{margin-bottom:18px}}

.cases-page .case-stage-chunk{display:inline-block;white-space:nowrap}
