.idi-f3{--pink:#db0053;--ink:#17171b;--muted:#66666c;--line:#d9d7d1;position:relative;background:#faf9f6;color:var(--ink);padding:clamp(74px,8vw,128px) 24px;overflow:hidden;font-family:"Sicユニバーサルライン","Noto Sans JP","Hiragino Kaku Gothic ProN",sans-serif}
.idi-f3 *{box-sizing:border-box}
.idi-f3__inner{width:min(1180px,100%);margin:auto}
.idi-f3__progress{position:absolute;z-index:3;left:max(24px,calc(50% - 590px));top:54px;bottom:100px;width:1px;background:var(--line)}
.idi-f3__progress i{display:block;width:2px;height:0;background:var(--pink);transition:height .12s linear}
.idi-f3__list{border-top:1px solid var(--line)}
.idi-f3__item{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr) minmax(250px,340px);column-gap:40px;align-items:center;min-height:430px;padding:clamp(56px,7vw,88px) 0;border-bottom:1px solid var(--line)}
.idi-f3__number{align-self:start;padding-top:4px;color:#5f5a55;font:500 clamp(48px,5.5vw,78px)/.84 Georgia,serif;letter-spacing:-.08em;text-align:left}
.idi-f3__main{min-width:0}
.idi-f3__item--text-only .idi-f3__main{grid-column:2/-1;max-width:760px}
.idi-f3__content h3{max-width:600px;font-size:clamp(30px,3.3vw,46px);line-height:1.14;letter-spacing:-.048em;margin:0 0 24px;font-weight:900;transition:color .4s}
.idi-f3__item.is-active .idi-f3__content h3{color:var(--pink)}
.idi-f3__copy{max-width:590px;color:#3d3d42!important;font-size:14px!important;line-height:2.05!important;margin:0!important;font-weight:500!important}
.idi-f3__metric{display:grid;grid-template-columns:auto auto 1fr;align-items:end;gap:8px;margin-top:34px;width:max-content}
.idi-f3__metric small{grid-column:1/-1;color:#505056;font-size:12px;font-weight:750;line-height:1}
.idi-f3__metric strong{font:500 clamp(58px,6vw,82px)/.88 Georgia,"Times New Roman",serif;letter-spacing:-.065em}
.idi-f3__metric em{padding-bottom:5px;font-size:20px;font-style:normal;font-weight:850;line-height:1}
.idi-f3__visual{width:min(100%,340px);justify-self:end;align-self:center}
.idi-f3__visual--diagram{display:flex;justify-content:flex-end}
.idi-f3__diagram{width:100%;max-width:320px;opacity:.98}
.idi-f3__diagram svg{display:block;width:100%;height:auto;overflow:visible}
.idi-f3__connector,.idi-f3__map,.idi-f3__person-body,.idi-f3__person-head{vector-effect:non-scaling-stroke}
.idi-f3__connector,.idi-f3__map{fill:none;stroke:var(--pink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.58;transition:transform .75s cubic-bezier(.16,1,.3,1),opacity .4s ease,stroke-dashoffset 1.1s cubic-bezier(.16,1,.3,1)}
.idi-f3__person-head{fill:#faf9f6;stroke:var(--pink);stroke-width:1.8;opacity:.82;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .35s ease}
.idi-f3__person-body{fill:none;stroke:var(--pink);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;opacity:.82;transition:transform .7s cubic-bezier(.16,1,.3,1),opacity .35s ease}
.idi-f3__person .idi-f3__person-head,.idi-f3__person .idi-f3__person-body{transform-origin:center center}
.idi-f3__diagram--team .idi-f3__connector{stroke-dasharray:240;stroke-dashoffset:240}
.idi-f3__diagram--reason .idi-f3__connector--branch1,.idi-f3__diagram--reason .idi-f3__connector--branch2,.idi-f3__diagram--reason .idi-f3__connector--branch3{stroke-dasharray:120;stroke-dashoffset:120}
.idi-f3__diagram--exchange .idi-f3__connector--arcA{transform:translate(-10px,-4px)}
.idi-f3__diagram--exchange .idi-f3__connector--arcB{transform:translate(10px,4px)}
.idi-f3__diagram--exchange .idi-f3__connector--cross1,.idi-f3__diagram--exchange .idi-f3__connector--cross2{stroke-dasharray:110;stroke-dashoffset:110}
.idi-f3__diagram--booster .idi-f3__connector{opacity:.48}
.idi-f3__diagram--booster .idi-f3__connector--boost{stroke-dasharray:180;stroke-dashoffset:180;opacity:.8}
.idi-f3__diagram--booster .idi-f3__connector--arrow1,.idi-f3__diagram--booster .idi-f3__connector--arrow2{transform:translate(10px,-8px)}
.idi-f3__diagram--network .idi-f3__map{opacity:.84}
.idi-f3__diagram--network .idi-f3__map:nth-child(1){transform:translate(8px,-4px)}
.idi-f3__diagram--network .idi-f3__map:nth-child(2){transform:translate(8px,-4px)}
.idi-f3__diagram--network .idi-f3__map:nth-child(3){transform:translate(-4px,3px)}
.idi-f3__diagram--network .idi-f3__connector--network1,.idi-f3__diagram--network .idi-f3__connector--network2,.idi-f3__diagram--network .idi-f3__connector--network3{stroke-dasharray:90;stroke-dashoffset:90}
.idi-f3__diagram--network .idi-f3__person-head{fill:#fff}
.idi-f3__item.is-active .idi-f3__diagram--team .idi-f3__connector,
.idi-f3__item.is-active .idi-f3__diagram--reason .idi-f3__connector--branch1,
.idi-f3__item.is-active .idi-f3__diagram--reason .idi-f3__connector--branch2,
.idi-f3__item.is-active .idi-f3__diagram--reason .idi-f3__connector--branch3,
.idi-f3__item.is-active .idi-f3__diagram--exchange .idi-f3__connector--cross1,
.idi-f3__item.is-active .idi-f3__diagram--exchange .idi-f3__connector--cross2,
.idi-f3__item.is-active .idi-f3__diagram--booster .idi-f3__connector--boost,
.idi-f3__item.is-active .idi-f3__diagram--network .idi-f3__connector--network1,
.idi-f3__item.is-active .idi-f3__diagram--network .idi-f3__connector--network2,
.idi-f3__item.is-active .idi-f3__diagram--network .idi-f3__connector--network3{stroke-dashoffset:0;opacity:.8}
.idi-f3__item.is-active .idi-f3__diagram--exchange .idi-f3__connector--arcA,
.idi-f3__item.is-active .idi-f3__diagram--exchange .idi-f3__connector--arcB,
.idi-f3__item.is-active .idi-f3__diagram--booster .idi-f3__connector--arrow1,
.idi-f3__item.is-active .idi-f3__diagram--booster .idi-f3__connector--arrow2,
.idi-f3__item.is-active .idi-f3__diagram--network .idi-f3__map{transform:none;opacity:.82}
.idi-f3__item.is-active .idi-f3__person-head{opacity:1;transform:scale(1.06)}
.idi-f3__item.is-active .idi-f3__person-body{opacity:1}
.idi-f3__video-button{position:relative;width:100%;aspect-ratio:16/9;display:block;padding:0;overflow:hidden;background:#e9e6df;border:0;color:#fff;cursor:pointer;text-align:left;isolation:isolate}
.idi-f3__video-button:before{content:"";position:absolute;z-index:-2;inset:0;background:linear-gradient(135deg,#29292e,#707078)}
.idi-f3__video-button.is-placeholder:after{content:"";position:absolute;z-index:-1;inset:-35%;background:repeating-radial-gradient(circle at 35% 45%,transparent 0 24px,#ffffff10 25px 26px);transition:transform .8s cubic-bezier(.16,1,.3,1)}
.idi-f3__video-button img{position:absolute;z-index:0;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.82);transition:transform .85s cubic-bezier(.16,1,.3,1),filter .5s}
.idi-f3__video-shade{position:absolute;z-index:1;inset:0;background:linear-gradient(180deg,#00000012 15%,#00000015 42%,#000000b8 100%);transition:background .45s}
.idi-f3__video-label{position:absolute;z-index:2;left:20px;top:18px;padding-bottom:6px;border-bottom:1px solid #ffffffa6;font-size:10px;font-weight:800;letter-spacing:.15em}
.idi-f3__video-action{position:absolute;z-index:2;left:22px;bottom:21px;display:flex;align-items:center;gap:13px}
.idi-f3__video-action b{font-size:14px;letter-spacing:.03em}
.idi-f3__play{width:48px;height:48px;display:grid;place-items:center;border:1px solid #ffffffcc;border-radius:50%;background:#ffffff14;backdrop-filter:blur(8px);transition:background .35s,border-color .35s,transform .35s}
.idi-f3__play i{width:0;height:0;margin-left:3px;border-top:5px solid transparent;border-bottom:5px solid transparent;border-left:8px solid #fff}
.idi-f3__video-arrow{position:absolute;z-index:2;right:20px;top:16px;font:300 23px/1 Arial,sans-serif;transition:transform .35s}
.idi-f3__video-button:hover img{transform:scale(1.045);filter:saturate(1)}
.idi-f3__video-button:hover:after{transform:rotate(8deg) scale(1.08)}
.idi-f3__video-button:hover .idi-f3__video-shade{background:linear-gradient(180deg,#db00531f,#00000010 42%,#000000c4 100%)}
.idi-f3__video-button:hover .idi-f3__play{background:var(--pink);border-color:var(--pink);transform:scale(1.08)}
.idi-f3__video-button:hover .idi-f3__video-arrow{transform:translate(3px,-3px)}
.idi-f3__video-button:focus-visible{outline:3px solid var(--pink);outline-offset:4px}
.idi-f3__modal{position:fixed;z-index:999999;inset:0;display:flex;align-items:center;justify-content:center;padding:5vw;background:#0d0d0ff2;opacity:0;visibility:hidden;transition:.35s}
.idi-f3__modal.is-open{opacity:1;visibility:visible}
.idi-f3__movie{width:min(1100px,100%);aspect-ratio:16/9;background:#000;transform:translateY(20px) scale(.985);transition:.5s cubic-bezier(.16,1,.3,1)}
.idi-f3__modal.is-open .idi-f3__movie{transform:none}
.idi-f3__movie iframe,.idi-f3__movie video{width:100%;height:100%;border:0}
.idi-f3__close{position:absolute;right:24px;top:18px;border:0;background:none;color:#fff;font-size:42px;font-weight:200;cursor:pointer}
.idi-reveal{opacity:0;transform:translateY(28px);transition:opacity .8s,transform .8s cubic-bezier(.16,1,.3,1)}
.idi-reveal.is-visible{opacity:1;transform:none}
@media(max-width:980px){.idi-f3__item{grid-template-columns:84px minmax(0,1fr) minmax(210px,280px);column-gap:28px}.idi-f3__number{font-size:58px}.idi-f3__content h3{font-size:36px}.idi-f3__visual{width:min(100%,280px)}}
@media(max-width:760px){.idi-f3{padding:50px 18px 66px}.idi-f3__progress{left:18px;top:50px;bottom:76px}.idi-f3__item{grid-template-columns:48px minmax(0,1fr);gap:0 12px;min-height:0;padding:50px 0}.idi-f3__number{grid-column:1;grid-row:1/span 2;width:48px;padding-top:0;font-size:clamp(40px,10vw,56px);line-height:.8}.idi-f3__main{grid-column:2;min-width:0}.idi-f3__visual{grid-column:2;width:100%;max-width:100%;min-width:0;margin:24px 0 0}.idi-f3__content h3{font-size:clamp(28px,8.3vw,36px);margin-bottom:19px}.idi-f3__copy{font-size:13.5px!important;line-height:1.95!important}.idi-f3__metric{margin-top:28px}.idi-f3__metric strong{font-size:60px}.idi-f3__video-label{left:16px;top:14px}.idi-f3__video-action{left:16px;bottom:16px}.idi-f3__play{width:43px;height:43px}.idi-f3__video-arrow{right:16px;top:13px}.idi-f3__modal{padding:0}.idi-f3__close{z-index:2;top:10px;right:14px}.idi-f3__movie{width:100%}}
@media(prefers-reduced-motion:reduce){.idi-f3 *{animation:none!important;transition:none!important}.idi-reveal{opacity:1;transform:none}}

/* v3.7: 05 uses supplied Japan map PNG directly */
.idi-f3__diagram--network{max-width:340px}
.idi-f3__japan-image{display:block;width:100%;height:auto;object-fit:contain;filter:none;opacity:1;transform:none!important}
.idi-f3__item.is-active .idi-f3__japan-image{opacity:1}
@media(max-width:760px){.idi-f3__diagram--network{max-width:300px}}

@media(max-width:760px){.idi-f3__visual,.idi-f3__diagram,.idi-f3__japan-image,.idi-f3__visual img,.idi-f3__visual svg{max-width:100%;box-sizing:border-box}.idi-f3__japan-image,.idi-f3__visual img{width:100%;height:auto;object-fit:contain}}
