/* 支援事例専用。共通ヘッダー・フッターへ影響させない。 */
main.vr-cases{--vc-orange:#f58220;--vc-black:#000;background:#fff;color:#000;overflow:clip;padding:0!important}
main.vr-cases *,main.vr-cases *::before,main.vr-cases *::after{box-sizing:border-box}
main.vr-cases section{margin:0;border-radius:0}
main.vr-cases p,main.vr-cases li{font-size:16px;line-height:1.85;max-width:70ch}
main.vr-cases h1,main.vr-cases h2,main.vr-cases p{margin-top:0}
main.vr-cases h1{font-size:clamp(32px,4.2vw,66px);line-height:1.4;letter-spacing:-.045em}
main.vr-cases h2{font-size:clamp(28px,3.2vw,48px);line-height:1.4;letter-spacing:-.04em}
main.vr-cases a{color:inherit;text-decoration:none}
main.vr-cases a:focus-visible{outline:3px solid var(--vc-orange);outline-offset:6px}
main.vr-cases .vc-label{font-size:12px;line-height:1.6;font-weight:700;letter-spacing:.12em;max-width:none}
main.vr-cases .vc-index-hero{display:grid;grid-template-columns:1.1fr 1fr;padding:72px 6vw 64px;background:#000;color:#fff;min-height:650px;align-items:center;gap:7vw}
main.vr-cases .vc-index-word{position:relative;font-size:clamp(95px,14vw,210px);font-weight:800;line-height:.83;letter-spacing:-.075em;color:var(--vc-orange);margin:48px 0 0}
main.vr-cases .vc-index-word span{font-size:.55em;position:absolute;bottom:.08em;right:-.2em;color:#fff}
main.vr-cases .vc-index-intro{padding-top:80px;border-bottom:1px solid #fff;padding-bottom:32px}
main.vr-cases .vc-index-intro h1{margin:25px 0}
main.vr-cases .vc-read{display:inline-block;font-size:16px;font-weight:700;border-bottom:2px solid var(--vc-orange);padding:16px 0 8px}
main.vr-cases .vc-case{padding:90px 6vw;display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;border-bottom:1px solid #000;position:relative;min-height:510px}
main.vr-cases .vc-case:nth-child(even){background:#000;color:#fff}
main.vr-cases .vc-case:nth-child(3){background:var(--vc-orange);color:#000}
main.vr-cases .vc-case-data{position:sticky;top:120px;align-self:start}
main.vr-cases .vc-case-info{padding-top:56px;align-self:center}
main.vr-cases .vc-metric{border-top:2px solid currentColor;padding-top:20px;margin-top:32px}
main.vr-cases .vc-metric>p{margin:0;font-weight:700}
main.vr-cases .vc-metric>div{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap;margin:4px 0 12px}
main.vr-cases .vc-metric strong{font-size:clamp(70px,9vw,144px);line-height:1.1;letter-spacing:-.07em;font-weight:800;color:var(--vc-orange);font-variant-numeric:tabular-nums}
main.vr-cases .vc-metric>div>span{font-size:clamp(22px,3vw,42px);font-weight:700}
main.vr-cases .vc-metric .vc-context{font-size:14px;font-weight:400}
main.vr-cases .vc-case:nth-child(3) .vc-metric strong{color:#000}
main.vr-cases .vc-index-original{font-size:14px;line-height:1.7;margin:24px 0 36px}
main.vr-cases .b-result-label{display:inline!important;font-size:inherit!important;color:inherit!important;letter-spacing:0!important;margin-right:8px}
main.vr-cases .vc-action{display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:2px solid currentColor;padding:18px 0;font-size:17px;font-weight:700;width:100%;max-width:480px}
main.vr-cases .vc-action span{font-size:32px;line-height:1;transition:transform .2s}
main.vr-cases .vc-action:hover span{transform:translate(4px,-4px)}
main.vr-cases .vc-document{background:#000;color:#fff;padding:34px 6vw 0;position:relative}
main.vr-cases .vc-document-top,main.vr-cases .vc-document-bottom{display:flex;justify-content:space-between;gap:24px;font-size:12px;letter-spacing:.08em;line-height:1.7;border-bottom:1px solid #fff;padding-bottom:24px}
main.vr-cases .vc-document-top a{font-size:14px}
main.vr-cases .vc-document-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:6vw;align-items:center;padding:75px 0 80px;min-height:460px}
main.vr-cases .vc-document-grid h1{margin-top:24px}
main.vr-cases .vc-document-grid .vc-metric{margin:0}
main.vr-cases .vc-document-bottom{border:0;border-top:1px solid #fff;padding:22px 0}
main.vr-cases .vc-period{margin-bottom:20px}
main.vr-cases .vc-story{display:grid;grid-template-columns:230px minmax(0,1fr);max-width:1600px;margin:auto}
main.vr-cases .vc-track{position:sticky;top:110px;height:max-content;padding:55px 28px;display:flex;flex-direction:column;gap:24px}
main.vr-cases .vc-track a{font-size:16px;line-height:1.5;border-left:2px solid #000;padding-left:15px}
main.vr-cases .vc-track a[aria-current="true"]{border-color:var(--vc-orange);font-weight:800}
main.vr-cases .vc-track-line{display:block;background:#000;height:180px;width:2px;position:relative;margin-left:0}
main.vr-cases .vc-track-line:after{content:"";position:absolute;background:var(--vc-orange);width:4px;height:100%;transform-origin:top;transform:scaleY(var(--vc-progress,0));transition:transform .1s linear}
main.vr-cases .vc-chapters{min-width:0;border-left:1px solid #000}
main.vr-cases .vc-chapter{padding:70px 6vw;position:relative;scroll-margin-top:100px}
main.vr-cases .vc-chapter>p:not(.vc-label){font-size:18px;line-height:1.85}
main.vr-cases .vc-problem{padding-bottom:140px;overflow:hidden}
main.vr-cases .vc-problem>p,main.vr-cases .vc-problem h2{position:relative;z-index:1}
main.vr-cases .vc-word{position:absolute;right:-12px;bottom:-20px;color:var(--vc-orange);font-size:150px;line-height:1;font-weight:800;letter-spacing:-.06em}
main.vr-cases .vc-strategy{background:var(--vc-orange)}
main.vr-cases .vc-flow{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));padding:0;margin:48px 0 0;border-top:2px solid #000}
main.vr-cases .vc-flow li{position:relative;padding:26px 20px 10px 0;line-height:1.65;font-weight:700}
main.vr-cases .vc-flow li+li{padding-left:20px;border-left:1px solid #000}
main.vr-cases .vc-flow li span{display:block;font-size:36px;margin-bottom:16px;font-weight:400}
main.vr-cases .vc-execution{display:grid;grid-template-columns:1fr 1.2fr;gap:30px;align-items:start}
main.vr-cases .vc-execution>p{padding-top:35px}
main.vr-cases .vc-result{background:#000;color:#fff}
main.vr-cases .vc-result .vc-metric{margin:50px 0}
main.vr-cases .vc-original{border-top:1px solid #fff;padding-top:24px;margin-top:45px;font-size:12px;letter-spacing:.05em}
main.vr-cases .vc-original p{font-size:16px;margin:12px 0 0}
main.vr-cases .vc-contact{background:var(--vc-orange);color:#000;padding:85px 10vw}
main.vr-cases .vc-contact h2{font-size:clamp(36px,5.5vw,80px);margin:24px 0 30px}
@media(max-width:900px){main.vr-cases .vc-story{grid-template-columns:170px minmax(0,1fr)}main.vr-cases .vc-track{padding:35px 18px}main.vr-cases .vc-document-grid,main.vr-cases .vc-case{gap:4vw}main.vr-cases .vc-metric strong{font-size:clamp(68px,10vw,100px)}main.vr-cases .vc-flow{grid-template-columns:1fr}main.vr-cases .vc-flow li,main.vr-cases .vc-flow li+li{padding:20px 0;border-left:0;border-bottom:1px solid #000;display:flex;gap:24px;align-items:center}main.vr-cases .vc-flow li span{margin:0;font-size:25px}main.vr-cases .vc-execution{display:block}}
@media(max-width:600px){main.vr-cases .vc-index-hero{display:block;min-height:0;padding:40px 24px 48px}main.vr-cases .vc-index-word{font-size:112px;max-width:280px;margin:28px 0 0}main.vr-cases .vc-index-word span{right:0}main.vr-cases .vc-index-intro{padding-top:48px;padding-bottom:20px}main.vr-cases .vc-index-intro h1{font-size:36px}main.vr-cases .vc-case{display:block;min-height:0;padding:42px 24px 48px}main.vr-cases .vc-case-data{position:static}main.vr-cases .vc-case-info{padding-top:32px}main.vr-cases .vc-metric strong{font-size:clamp(60px,19vw,96px)}main.vr-cases .vc-metric>div>span{font-size:26px}main.vr-cases .vc-document{padding:25px 24px 0}main.vr-cases .vc-document-top{display:block}main.vr-cases .vc-document-top span{display:block;margin-top:20px}main.vr-cases .vc-document-grid{display:block;padding:42px 0}main.vr-cases .vc-document-grid h1{font-size:34px;overflow-wrap:anywhere}main.vr-cases .vc-document-grid .vc-metric{margin-top:42px}main.vr-cases .vc-document-bottom{display:block;font-size:10px}main.vr-cases .vc-document-bottom span{display:block;margin:4px 0}main.vr-cases .vc-story{display:block}main.vr-cases .vc-track{position:relative;top:auto;display:flex;flex-flow:row wrap;padding:24px;gap:16px;border-bottom:1px solid #000}main.vr-cases .vc-track>.vc-label{width:100%}main.vr-cases .vc-track a{padding-left:8px;font-size:14px}main.vr-cases .vc-track-line{display:none}main.vr-cases .vc-chapters{border:0}main.vr-cases .vc-chapter{padding:48px 24px}main.vr-cases .vc-chapter>p:not(.vc-label){font-size:16px}main.vr-cases .vc-problem{padding-bottom:120px}main.vr-cases .vc-word{font-size:120px;bottom:-12px}main.vr-cases .vc-execution>p{padding-top:10px}main.vr-cases .vc-contact{padding:50px 24px}main.vr-cases .vc-action{font-size:16px}main.vr-cases .vc-result .vc-metric{margin:34px 0}}
@media(prefers-reduced-motion:reduce){main.vr-cases *,main.vr-cases *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

main.vr-cases .vc-hero-proof{display:grid;grid-template-columns:1fr auto;gap:4px 20px;align-items:center;padding:16px 0;border-top:1px solid #fff;margin:24px 0 0}main.vr-cases .vc-hero-proof>span{font-size:12px;line-height:1.6}main.vr-cases .vc-hero-proof strong{grid-column:2;grid-row:1/3;font-size:62px;line-height:1;color:var(--vc-orange);letter-spacing:-.055em}main.vr-cases .vc-hero-proof small{font-size:22px;letter-spacing:0;margin-left:4px}@media(max-width:600px){main.vr-cases .vc-index-word{font-size:96px}main.vr-cases .vc-index-intro{padding-top:32px}main.vr-cases .vc-hero-proof strong{font-size:50px}main.vr-cases .vc-hero-proof small{font-size:19px}}

main.vr-cases .vc-live-result{display:none}
main.vr-cases .vc-evidence-note{max-width:none;margin:0;padding:26px 6vw;font-size:14px;line-height:1.8;border-top:1px solid #000;background:#fff;color:#000}
main.vr-cases .vc-track-status{font-size:32px;line-height:1.3;font-weight:700;color:#000;margin:0}
main.vr-cases .vc-live-progress{height:3px;background:#fff;position:relative;margin:42px 0 20px}
main.vr-cases .vc-live-progress::after{content:"";position:absolute;inset:0;background:var(--vc-orange);transform-origin:left;transform:scaleX(var(--vc-case-progress,.2));transition:transform .2s}
main.vr-cases .vc-live-position{font-size:13px;letter-spacing:.12em}
@media(min-width:901px){
main.vr-cases.vc-live-enabled .vc-index-list{display:grid;grid-template-columns:1.1fr 1fr;gap:7vw;padding:0 6vw;background:#000;color:#fff}
main.vr-cases.vc-live-enabled .vc-live-result{display:block;position:sticky;top:140px;align-self:start;margin:90px 0;min-width:0}
main.vr-cases.vc-live-enabled .vc-live-content .vc-label{margin:35px 0 0}
main.vr-cases.vc-live-enabled .vc-live-content .vc-metric{margin-top:24px}
main.vr-cases.vc-live-enabled .vc-live-content .vc-metric strong{font-size:clamp(64px,8vw,125px)}
main.vr-cases.vc-live-enabled .vc-case-stream{min-width:0}
main.vr-cases.vc-live-enabled .vc-case{display:block;min-height:600px;padding:95px 0 75px;background:#000!important;color:#fff!important;border-bottom:1px solid #fff}
main.vr-cases.vc-live-enabled .vc-case-data .vc-metric{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
main.vr-cases.vc-live-enabled .vc-case-data{position:static}
main.vr-cases.vc-live-enabled .vc-case-info{padding-top:32px}
main.vr-cases.vc-live-enabled .vc-case-info .vc-label{color:var(--vc-orange)}
main.vr-cases.vc-live-enabled .vc-case[aria-current="true"] .vc-action{border-color:var(--vc-orange)}
}
@media(max-width:600px){main.vr-cases .vc-track-status{font-size:19px;align-self:center}main.vr-cases .vc-track .vc-label{width:auto}main.vr-cases .vc-evidence-note{padding:24px;font-size:14px}}

/* 元の課題と対処を同じ行に置き、戦略の関係を見せる。 */
main.vr-cases .vc-decision-map{margin:42px 0 0;border-top:2px solid #000}
main.vr-cases .vc-map-head{display:grid;grid-template-columns:1fr 1fr;gap:64px;font-size:12px;font-weight:700;letter-spacing:.08em;padding:18px 0}
main.vr-cases .vc-map-row{display:grid;grid-template-columns:1fr 40px 1fr;gap:12px;align-items:center;border-top:1px solid #000;padding:24px 0}
main.vr-cases .vc-map-row p{margin:0;font-size:17px;line-height:1.8}
main.vr-cases .vc-map-row p:last-child{font-weight:700}
main.vr-cases .vc-map-row>span{font-size:32px;line-height:1;text-align:center}
@media(max-width:600px){main.vr-cases .vc-map-head{display:none}main.vr-cases .vc-map-row{display:flex;flex-direction:column;align-items:stretch;gap:12px;padding:24px 0}main.vr-cases .vc-map-row p{font-size:16px}main.vr-cases .vc-map-row>span{transform:rotate(90deg);align-self:flex-start;margin-left:8px}main.vr-cases .vc-map-row p:first-child::before{content:"課題 / BEFORE";display:block;font-size:11px;font-weight:700;margin-bottom:8px}main.vr-cases .vc-map-row p:last-child::before{content:"対応する施策 / ACTION";display:block;font-size:11px;margin-bottom:8px}}
/* 索引は案件へ直行する入口、成果章は結果を比較できる紙面。 */
main.vr-cases .vc-register{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:14px 28px;border-top:1px solid #777;padding-top:24px}
main.vr-cases .vc-register a{font-size:13px;color:#fff;line-height:1.8;border-bottom:1px solid #f58220;padding-bottom:8px}
main.vr-cases .vc-case[id]{scroll-margin-top:100px}
main.vr-cases .vc-result .vc-metric{background:#fff;color:#000;padding:30px;transform:rotate(-1deg);box-shadow:10px 10px 0 #f58220;border:0;margin:45px 10px 55px 0}
main.vr-cases .vc-result .vc-metric strong{color:#000;font-size:clamp(76px,12vw,175px)}
main.vr-cases .vc-result-ledger{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin:40px 0 55px;border-bottom:1px solid #fff;padding-bottom:25px}
main.vr-cases .vc-result-ledger p{font-size:13px;line-height:1.8}
main.vr-cases .vc-result-ledger strong{display:block;font-size:clamp(30px,3.6vw,52px);font-weight:900;letter-spacing:-.04em;color:#f58220;line-height:1.5}
main.vr-cases .vc-result-ledger small{font-size:20px;letter-spacing:0;margin-left:8px}
main.vr-cases .vc-execution{display:block;padding-block:90px}
main.vr-cases .vc-execution>p{font-size:clamp(22px,2.4vw,34px)!important;line-height:1.8!important;border-left:8px solid #f58220;padding:0 0 0 30px;max-width:28em;margin:45px 0 0}
@media(max-width:600px){
main.vr-cases .vc-register{padding-top:25px;margin-top:30px;gap:12px}
main.vr-cases .vc-register a{font-size:12px}
main.vr-cases .vc-result .vc-metric{padding:22px;margin-top:35px}
main.vr-cases .vc-result .vc-metric strong{font-size:75px}
main.vr-cases .vc-result-ledger{grid-template-columns:1fr;gap:20px}
main.vr-cases .vc-result-ledger strong{font-size:40px}
main.vr-cases .vc-execution{padding-block:55px}
main.vr-cases .vc-execution>p{font-size:22px!important;padding-left:20px;border-left-width:5px}
}
main.vr-cases .vc-index-word{font-size:42px;line-height:1.1;letter-spacing:-.04em;margin:28px 0;color:#fff}
main.vr-cases .vc-index-word br{display:none}
main.vr-cases .vc-index-word span{position:static;margin-left:12px;color:#f58220;font-size:1em}
main.vr-cases .vc-index-title .vc-hero-proof{display:flex;flex-direction:column;align-items:flex-start;border:0;padding:0;gap:15px}
main.vr-cases .vc-index-title .vc-hero-proof strong{font-size:clamp(100px,13vw,185px);letter-spacing:-.08em;line-height:1.05}
main.vr-cases .vc-index-title .vc-hero-proof small{font-size:clamp(28px,3.2vw,44px);letter-spacing:-.04em}
main.vr-cases .vc-index-intro{padding-top:0;border-bottom:0}
@media(max-width:600px){main.vr-cases .vc-index-word{font-size:26px;margin:22px 0;max-width:none}main.vr-cases .vc-index-title .vc-hero-proof strong{font-size:128px}main.vr-cases .vc-index-title .vc-hero-proof small{font-size:30px}main.vr-cases .vc-index-intro{padding-top:36px}}
