/* FV v4（2026-10-27）TOP=モザイク／法人・個人=1枚が左→右へ */
.fv4{position:relative;height:min(calc(100vh - 70px),860px);min-height:560px;overflow:hidden;background:#0C1320;color:#fff}
.fv4Copy{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;justify-content:center;padding:0 7vw}
.fv4Mos .fv4Copy{align-items:center;text-align:center}
.fv4Copy .cdCLogo{width:min(340px,62vw);height:auto;display:block;margin:0 auto 6px}
.fv4Copy p{margin:0}
.fv4Copy .cdCKicker{font-family:Oswald,"Noto Sans JP",sans-serif;letter-spacing:.35em;font-size:13px;color:#C9CED6}
.fv4Copy .cdCKicker small{letter-spacing:.2em;margin-left:10px;font-size:12px}
.fv4Copy .cdCTitle{margin:18px 0 0;font-family:"Noto Serif JP","Noto Serif CJK JP",serif;font-weight:600;font-size:clamp(30px,4.4vw,62px);line-height:1.35;letter-spacing:.08em;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.fv4Copy .cdCL1,.fv4Copy .cdCL2{display:block}
.fv4Mos .cdCL1{font-size:.56em;color:#C9CED6;letter-spacing:.14em}
.fv4Copy .cdCSub{margin-top:18px;font-size:clamp(13px,1.15vw,16px);letter-spacing:.1em;line-height:1.9;color:#E6E9EE}
.fv4Copy .cdCSub span{display:block}
.fv4Copy .cdCBtns{margin-top:30px;display:flex;gap:12px;flex-wrap:wrap}
.fv4Mos .cdCBtns{justify-content:center}
.fv4Copy .cdCBtn{display:inline-flex;gap:12px;align-items:center;padding:14px 26px;font-size:14px;font-weight:700;text-decoration:none;color:#0C1320;background:#E6E9EE;border:1px solid #E6E9EE;transition:background .3s,color .3s;white-space:nowrap}
.fv4Copy .cdCBtn.is2{background:transparent;color:#fff;border-color:#C9CED6}
.fv4Copy .cdCBtn:hover{background:transparent;color:#fff}
.fv4Copy .cdCBtn.is2:hover{background:#C9CED6;color:#0C1320}
.fv4Copy>*{opacity:0;transform:translateY(20px);animation:fv4In 1s cubic-bezier(.2,.7,.2,1) forwards}
.fv4Copy>*:nth-child(2){animation-delay:.15s}.fv4Copy>*:nth-child(3){animation-delay:.3s}.fv4Copy>*:nth-child(4){animation-delay:.45s}
@keyframes fv4In{to{opacity:1;transform:none}}
/* モザイク */
.fv4Mos .fv4Bg{position:absolute;inset:-18% -10%;transform:rotate(-8deg);display:grid;grid-template-columns:repeat(5,1fr);grid-template-rows:repeat(4,1fr);gap:10px}
.fv4Mos .fv4T{position:relative;overflow:hidden;background:#16213A}
.fv4Mos .fv4T img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:rotate(8deg) scale(1.18);transition:opacity 1.1s,transform 6s ease-out}
.fv4Mos:after{content:"";position:absolute;inset:0;z-index:3;background:radial-gradient(ellipse 55% 62% at 50% 50%,rgba(12,19,32,.88),rgba(12,19,32,.55) 65%,rgba(12,19,32,.25));pointer-events:none}
/* 1枚 左→右 */
.fv4Pan .fv4Bg{position:absolute;inset:0}
.fv4Pan .fv4Bg img{position:absolute;top:0;right:0;width:62%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s}
.fv4Pan .fv4Bg img.on{opacity:1;animation:fv4Pan 9.5s linear forwards}
@keyframes fv4Pan{from{object-position:0% 50%;transform:translateX(-5%)}to{object-position:100% 50%;transform:translateX(0)}}
.fv4Pan .fv4Bg:after{content:"";position:absolute;inset:0;z-index:2;background:linear-gradient(90deg,#0C1320 38%,rgba(12,19,32,.72) 52%,rgba(12,19,32,0) 78%)}

@media (max-width:767px){
 .fv4{height:auto;min-height:640px}
 .fv4Mos .fv4Bg{grid-template-columns:repeat(3,1fr);grid-template-rows:repeat(5,1fr)}
 .fv4Copy{padding:0 22px}
 .fv4Copy .cdCBtns{flex-direction:column;align-items:stretch}
 .fv4Copy .cdCBtn{justify-content:center}
 .fv4Pan .fv4Bg img{width:100%;height:58%}
 .fv4Pan .fv4Bg:after{background:linear-gradient(180deg,rgba(12,19,32,0) 25%,rgba(12,19,32,.8) 50%,#0C1320 62%)}
 .fv4Pan .fv4Copy{justify-content:flex-end;padding-bottom:48px}
}

/* 既存FVの調整値を打ち消す */
.fv4 .fv4Copy .cdCLogo{width:min(320px,58vw)!important;height:auto!important;max-height:none!important;object-fit:contain!important;margin:0 auto 4px!important}
.fv4 .fv4Copy .cdCTitle{margin:16px 0 0!important;font-size:clamp(30px,4.4vw,62px)!important;transform:none!important}
.fv4 .fv4Copy .cdCL1,.fv4 .fv4Copy .cdCL2{font-size:1em!important;margin:0!important;line-height:1.35!important}
.fv4.fv4Mos .fv4Copy .cdCL1{font-size:.56em!important}
.fv4 .fv4Copy .cdCSub{font-size:clamp(13px,1.15vw,16px)!important;height:auto!important;margin:18px 0 0!important;transform:none!important}
.fv4 .fv4Copy .cdCBtns{margin:30px 0 0!important;transform:none!important}

.fv4 .fv4Copy .cdCSub{font-weight:400!important}
.fv4.fv4Pan .fv4Copy .cdCBtns{justify-content:flex-start!important;width:auto!important;align-self:flex-start}
.fv4 .fv4Copy .cdCBtn{width:auto!important;min-width:0!important;flex:none!important}
.fv4.fv4Pan .fv4Copy .cdCKicker{text-align:left}
@media (max-width:767px){.fv4.fv4Pan .fv4Copy .cdCBtns{align-self:stretch}}

/* 下の固定ボタン（押したくなる形に） */
.fixedPublicFooter{gap:0!important;box-shadow:0 18px 40px -12px rgba(12,19,32,.6)!important;border:0!important;background:transparent!important}
.fixedPublicFooter a{display:inline-flex!important;align-items:center;justify-content:center;gap:8px;padding:16px 26px!important;font-weight:700!important;font-size:14px!important;letter-spacing:.06em;background:#0C1320!important;color:#E6E9EE!important;border:1px solid rgba(201,206,214,.35)!important;transition:transform .25s,background .25s,color .25s!important}
.fixedPublicFooter a:first-child:before{content:"";width:14px;height:14px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 006.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 013 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M6.6 10.8a15.1 15.1 0 006.6 6.6l2.2-2.2c.3-.3.7-.4 1-.2 1.1.4 2.3.6 3.6.6.6 0 1 .4 1 1V20c0 .6-.4 1-1 1A17 17 0 013 4c0-.6.4-1 1-1h3.5c.6 0 1 .4 1 1 0 1.3.2 2.5.6 3.6.1.3 0 .7-.2 1z'/%3E%3C/svg%3E") center/contain no-repeat}
.fixedPublicFooter a:last-child{background:linear-gradient(110deg,#F4F6F9,#C9CED6 55%,#F4F6F9)!important;background-size:200% 100%!important;color:#0C1320!important;border-color:#E6E9EE!important;padding-left:32px!important;padding-right:32px!important;animation:fpfShine 4s linear infinite}
.fixedPublicFooter a:last-child:after{content:"▶";font-size:11px;transition:transform .25s}
.fixedPublicFooter a:hover{transform:translateY(-3px);background:#16213A!important;color:#fff!important}
.fixedPublicFooter a:last-child:hover{background:#fff!important;color:#0C1320!important}
.fixedPublicFooter a:last-child:hover:after{transform:translateX(4px)}
@keyframes fpfShine{to{background-position:-200% 0}}
@media (max-width:767px){.fixedPublicFooter a{padding:14px 10px!important;font-size:13px!important}.fixedPublicFooter a:last-child{padding:14px 12px!important}}

/* FV内フォーム */
.fv4 .fv4Copy{padding-bottom:120px}
.fv4 .cdForm{position:absolute!important;left:0!important;right:0!important;bottom:0!important;top:auto!important;width:auto!important;max-width:none!important;margin:0!important;z-index:6;display:flex!important;align-items:center;gap:32px;padding:18px 7vw 20px!important;background:rgba(12,19,32,.72)!important;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:0!important;border-top:1px solid rgba(201,206,214,.25)!important;box-shadow:none!important;color:#fff!important;transform:none!important}
.fv4 .cdForm .cdFormEn,.fv4 .cdForm .cdFormLead{display:none!important}
.fv4 .cdForm h2{margin:0!important;font-family:"Noto Serif JP","Noto Serif CJK JP",serif;font-weight:600;font-size:17px!important;letter-spacing:.08em;color:#fff!important;white-space:nowrap}
.fv4 .cdForm form{flex:1;display:flex!important;flex-direction:row!important;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;margin:0!important;grid-template-columns:none!important}
.fv4 .cdForm label{flex:1 1 150px!important;height:auto!important;display:flex!important;flex-direction:column;gap:5px;font-size:11.5px!important;letter-spacing:.06em;color:#C9CED6!important;margin:0!important}
.fv4 .cdForm input,.fv4 .cdForm select{height:44px!important;padding:0 12px!important;background:rgba(255,255,255,.1)!important;border:1px solid rgba(201,206,214,.4)!important;color:#fff!important;font-size:14px!important;border-radius:0!important;width:100%!important}
.fv4 .cdForm select option{color:#0C1320}
.fv4 .cdForm input:focus,.fv4 .cdForm select:focus{outline:none;border-color:#fff!important;background:rgba(255,255,255,.16)!important}
.fv4 .cdForm .cdFormBtn{height:44px!important;padding:0 26px!important;margin:0!important;flex:none;display:inline-flex!important;align-items:center;gap:12px;background:linear-gradient(110deg,#F4F6F9,#C9CED6 55%,#F4F6F9)!important;background-size:200% 100%!important;animation:fpfShine 4s linear infinite;color:#0C1320!important;border:0!important;font-weight:700!important;font-size:14px!important;cursor:pointer;width:auto!important}
.fv4 .cdForm .cdFormBtn:hover{background:#fff!important}
.fv4 .cdForm small{flex-basis:100%;font-size:11px!important;color:#9AA3B0!important;margin:0!important}
.fv4 .cdForm .cdFormErr{flex-basis:100%;margin:0!important;color:#FFB4B4!important;font-size:12px}
.fv4 .cdForm .cdFormErr:empty{display:none}
@media (max-width:1024px){.fv4 .cdForm{flex-direction:column;align-items:stretch;gap:12px}.fv4 .fv4Copy{padding-bottom:230px}}
@media (max-width:767px){
 .fv4{height:auto!important;min-height:0!important}
 .fv4 .fv4Copy{position:relative!important;inset:auto!important;padding:300px 22px 30px!important}
 .fv4.fv4Mos .fv4Copy{padding:120px 22px 36px!important}
 .fv4 .cdForm{position:relative!important;padding:22px 22px 30px!important}
 .fv4 .cdForm label{flex:1 1 100%}
 .fv4 .cdForm .cdFormBtn{width:100%!important;justify-content:center}
}
@media (max-width:1024px){.fv4 .cdForm{flex-direction:column!important}}
.fixedPublicFooter{transition:opacity .4s,transform .4s}
body.fv4In .fixedPublicFooter{opacity:0!important;pointer-events:none!important;transform:translate(-50%,24px)}

/* v4h スマホの重なり解消 */
.fv4 .fv4Copy>*{position:static!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;width:auto!important;max-width:100%!important}
.fv4 .fv4Copy .cdCBtns{display:flex!important}
@media (max-width:767px){
 .fv4 .fv4Copy .cdCTitle{font-size:clamp(25px,7.2vw,32px)!important;letter-spacing:.04em}
 .fv4 .fv4Copy .cdCSub{font-size:13px!important;letter-spacing:.04em}
 .fv4 .fv4Copy .cdCBtns{margin-top:20px!important;gap:8px}
 .fv4 .fv4Copy .cdCBtn{padding:13px 16px!important;font-size:13px!important}
 .fv4.fv4Pan .fv4Copy{padding:230px 20px 24px!important}
 .fv4.fv4Mos .fv4Copy{padding:90px 20px 30px!important}
 .fv4 .fv4Copy .cdCLogo{width:min(230px,60vw)!important}
 .fv4.fv4Pan .fv4Bg img{height:300px}
 .fv4.fv4Pan .fv4Bg img.on{animation:fv4PanSp 8.5s linear forwards}
 .fv4.fv4Pan .fv4Bg:after{background:linear-gradient(180deg,rgba(12,19,32,0) 30%,rgba(12,19,32,.85) 48%,#0C1320 58%)}
 .fv4 .cdForm{padding:18px 20px 24px!important;gap:10px}
 .fv4 .cdForm label{flex:1 1 calc(50% - 5px)!important}
 .fv4 .cdForm input,.fv4 .cdForm select{height:42px!important}
}
@keyframes fv4PanSp{from{object-position:20% 50%;transform:scale(1.12)}to{object-position:80% 50%;transform:scale(1)}}
/* フォーム：ボタンで開く */
.bz3FoldBtn{display:inline-flex;align-items:center;gap:12px;padding:14px 26px;border:0;cursor:pointer;font-weight:700;font-size:14px;background:linear-gradient(110deg,#F4F6F9,#C9CED6 55%,#F4F6F9);background-size:200% 100%;animation:fpfShine 4s linear infinite;color:#0C1320}
.bz3FoldBtn i{font-style:normal;transition:transform .3s}
.bz3FoldBtn[aria-expanded=true] i{transform:rotate(180deg)}
.isFold{display:none!important}
section .bz3FoldBtn{background:#0C1320;color:#fff;animation:none;margin-top:10px}
/* v3k */
@media (max-width:767px){
 .fv4 .fv4Copy>*{opacity:1!important;transform:none!important;animation:none!important}
 .fv4 .fv4Copy .cdCKicker,.fv4 .fv4Copy .cdCTitle,.fv4 .fv4Copy .cdCSub{display:block!important;visibility:visible!important}
 .fv4.fv4Pan .fv4Copy{padding:210px 20px 16px!important}
 .fv4 .cdForm{padding:14px 20px 18px!important}
 .fv4 .cdForm h2{display:none!important}
 .fv4 .bz3FoldBtn{width:100%;justify-content:center}
 .bz3Marq{-webkit-mask-image:none!important;mask-image:none!important}
 .bz3MarqTrack{animation-duration:32s!important;will-change:transform}
 .bz3Marq.rv{opacity:1!important;transform:none!important}
 .bz3Tr{grid-template-columns:1fr!important}
 .bz3Impact{background-size:auto 70%!important;background-position:right bottom!important;background-color:#0C1320!important}
 .bz3Answer{background-size:auto 100%!important;background-position:right center!important}
 #sourcing .bz3Route{flex-direction:column;gap:8px}
 #sourcing .bz3Route i{transform:rotate(90deg);animation:none}
 #sourcing .bz3Route span{width:100%;min-width:0}
 .bz3SrcTx{padding-left:14px;margin-top:22px}
 .bz3SrcW{text-align:left}
 .bz3SrcW .bz3En{justify-content:flex-start}
}

/* v12 下の固定ボタン：3つを別の色に */
.fixedPublicFooter{gap:8px!important;box-shadow:none!important}
.fixedPublicFooter a{box-shadow:0 12px 28px -10px rgba(12,19,32,.55)}
.fixedPublicFooter a:nth-child(1){background:#0C1320!important;color:#E6E9EE!important;border:1px solid rgba(201,206,214,.5)!important}
.fixedPublicFooter a:nth-child(2){background:#E6E9EE!important;color:#0C1320!important;border:1px solid #C9CED6!important}
.fixedPublicFooter a:nth-child(2):hover{background:#fff!important;color:#0C1320!important}
.fixedPublicFooter a:last-child{background:linear-gradient(110deg,#1E4E96,#3A7BD5 50%,#1E4E96)!important;background-size:200% 100%!important;color:#fff!important;border:1px solid #3A7BD5!important;animation:fpfShine 3.5s linear infinite,fpfPulse 2.4s ease-out infinite!important}
.fixedPublicFooter a:last-child:hover{background:#2F6DC4!important;color:#fff!important}
@keyframes fpfPulse{0%{box-shadow:0 0 0 0 rgba(58,123,213,.55)}70%{box-shadow:0 0 0 12px rgba(58,123,213,0)}100%{box-shadow:0 0 0 0 rgba(58,123,213,0)}}
@media (max-width:767px){.fixedPublicFooter{gap:5px!important}}
/* v12 スマホFV：写真の下端をぼかしてつなぐ・左右に流す・フォームなし */
@media (max-width:767px){
.fv4.fv4Pan .fv4Bg{overflow:hidden}
.fv4.fv4Pan .fv4Bg img{left:0!important;right:auto!important;width:170%!important;height:340px!important;object-fit:cover;-webkit-mask-image:linear-gradient(180deg,#000 0%,#000 55%,rgba(0,0,0,.4) 80%,transparent 100%);mask-image:linear-gradient(180deg,#000 0%,#000 55%,rgba(0,0,0,.4) 80%,transparent 100%)}
.fv4.fv4Pan .fv4Bg img.on{animation:fv4PanSp2 8.5s linear forwards!important}
.fv4.fv4Pan .fv4Bg:after{background:linear-gradient(180deg,rgba(12,19,32,.15) 0,rgba(12,19,32,0) 120px)!important;height:340px;bottom:auto}
.fv4.fv4Pan .fv4Copy{padding:250px 20px 28px!important}
.fv4 .cdForm,.fv4 .bz3FoldBtn{display:none!important}
}
@keyframes fv4PanSp2{from{transform:translateX(0)}to{transform:translateX(-41%)}}

/* v14 下の固定ボタン：青をやめてグレージュに */
.fixedPublicFooter a:nth-child(2){background:#FAF8F4!important;color:#0C1320!important;border:1px solid #0C1320!important}
.fixedPublicFooter a:nth-child(2):hover{background:#fff!important}
.fixedPublicFooter a:last-child{background:linear-gradient(110deg,#BFB3A0,#E2D9CA 50%,#BFB3A0)!important;background-size:200% 100%!important;color:#0C1320!important;border:1px solid #BFB3A0!important;animation:fpfShine 3.5s linear infinite,fpfPulse2 2.4s ease-out infinite!important}
.fixedPublicFooter a:last-child:hover{background:#E2D9CA!important;color:#0C1320!important}
@keyframes fpfPulse2{0%{box-shadow:0 0 0 0 rgba(191,179,160,.6)}70%{box-shadow:0 0 0 12px rgba(191,179,160,0)}100%{box-shadow:0 0 0 0 rgba(191,179,160,0)}}

/* v16 送り3.3秒・写真を引きで */
.fv4Pan .fv4Bg img{transition:opacity 1s!important}
.fv4Pan .fv4Bg img.on{animation:fv4PanQ 4.4s linear forwards!important}
@keyframes fv4PanQ{from{object-position:35% 50%;transform:translateX(-3%)}to{object-position:65% 50%;transform:translateX(0)}}
@media (max-width:767px){
.fv4.fv4Pan .fv4Bg img{width:118%!important;height:300px!important}
.fv4.fv4Pan .fv4Bg img.on{animation:fv4PanSpQ 4.4s linear forwards!important}
.fv4.fv4Pan .fv4Fv{}
.fv4.fv4Pan .fv4Copy{padding-top:232px!important}
}
@keyframes fv4PanSpQ{from{transform:translateX(0)}to{transform:translateX(-15%)}}

@media (max-width:767px){.fixedPublicFooter a{white-space:nowrap!important;font-size:12.5px!important;letter-spacing:.02em!important}.fixedPublicFooter a:last-child{padding:14px 8px!important}.fixedPublicFooter a:last-child:after{font-size:9px}}

/* v18 スライド：ふわっと重ねて切替 */
.fv4Pan .fv4Bg img{transition:opacity 1.8s cubic-bezier(.45,0,.25,1)!important}

/* v20 スマホFV：横移動なし・ふわっと切替のみ */
@media (max-width:767px){
.fv4.fv4Pan .fv4Bg img{width:100%!important;left:0!important;right:0!important;height:300px!important;object-fit:cover!important;object-position:50% 50%!important}
.fv4.fv4Pan .fv4Bg img.on{animation:none!important;transform:none!important}
}

.fixedPublicFooter a:last-child:after{content:"\25B6\FE0E"!important}

/* v21 FV：横移動なし・4.3秒でふわっと切替 */
.fv4Pan .fv4Bg img{object-position:50% 50%!important;transition:opacity 2s cubic-bezier(.45,0,.25,1)!important}
.fv4Pan .fv4Bg img.on{animation:fv4Settle 6s ease-out forwards!important}
@keyframes fv4Settle{from{transform:scale(1.04)}to{transform:scale(1)}}
@media (max-width:767px){.fv4.fv4Pan .fv4Bg img.on{animation:none!important;transform:none!important}}

/* v26 下の固定ボタン：PC用・スマホ用の重複を出さない */
@media (min-width:768px){.fixedPublicFooter a.footerMobile{display:none!important}}
@media (max-width:767px){.fixedPublicFooter a.footerPC{display:none!important}}
