.blp{background:#FBFCFF;position:relative}
.blp{--paper:#FFFFFF;--paper-2:#F4F7FE;--paper-3:#EAF1FB;
  --ink:#111726;--ink-2:#5A6474;--ink-3:#95A0B2;
  --line:rgba(17,23,38,.09);--line-soft:rgba(17,23,38,.05);
  --blue:#2F6BFF;--blue-2:#5B8DFF;--blue-pale:#EAF1FF;
  --c-job:#12B5B0;--c-site:#F1791F;--c-media:#8B5CF6;--c-film:#F0384E;--c-gbp:#2E8FF0;--c-ai:#1FB865;
  --maxw:1200px;--ease:cubic-bezier(.22,.61,.36,1);
  --f-disp:"Space Grotesk",-apple-system,sans-serif;
  --f-jp:"Zen Kaku Gothic New",-apple-system,"Hiragino Kaku Gothic ProN",sans-serif;
  --glass:rgba(255,255,255,.65);--glass-brd:rgba(255,255,255,.8);
  --shadow-sm:0 2px 14px rgba(17,23,38,.05);--shadow:0 18px 50px rgba(17,23,38,.10);--shadow-lg:0 34px 80px rgba(17,23,38,.14);}
.blp *{margin:0;padding:0;box-sizing:border-box}
.blp{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
.blp{font-family:var(--f-jp);background:#FBFCFF;color:var(--ink);line-height:1.75;letter-spacing:.01em;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
.blp::before{content:"";position:fixed;inset:-25%;z-index:-2;pointer-events:none;background:radial-gradient(36% 36% at 16% 20%,rgba(47,107,255,.09),transparent 62%),radial-gradient(32% 32% at 84% 66%,rgba(139,92,246,.06),transparent 62%);animation:drift 32s ease-in-out infinite alternate}
@keyframes drift{0%{transform:translate3d(0,0,0)}100%{transform:translate3d(2.5%,-2.5%,0)}}
.blp a{color:inherit;text-decoration:none}
.blp img, .blp svg{display:block;max-width:100%}
.blp ::selection{background:var(--ink);color:#fff}
.blp .wrap{width:92%;max-width:var(--maxw);margin-inline:auto}
.blp .blogo{height:26px;width:auto;color:var(--ink)}
.blp .eyebrow{font-family:var(--f-disp);font-size:.72rem;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--blue);display:inline-flex;align-items:center;gap:.6em}
.blp .reveal{opacity:1;transform:none;transition:opacity .9s var(--ease),transform .9s var(--ease)}
.blp.js .reveal{opacity:0;transform:translateY(24px)}
.blp.js .reveal.in{opacity:1;transform:none}
.blp .reveal[data-d="1"]{transition-delay:.07s}
.blp .reveal[data-d="2"]{transition-delay:.14s}
.blp .reveal[data-d="3"]{transition-delay:.21s}
.blp .reveal[data-d="4"]{transition-delay:.28s}
.blp .ic{width:1em;height:1em;display:inline-block;vertical-align:middle}
.blp .nav{position:fixed;inset:0 0 auto 0;z-index:80;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px clamp(20px,4vw,48px);transition:background .4s,box-shadow .4s,padding .4s,border-color .4s;border-bottom:1px solid transparent}
.blp .nav.scrolled{background:rgba(255,255,255,.7);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border-bottom:1px solid var(--glass-brd);padding-block:12px}
.blp .nav-mid{display:flex;gap:26px;align-items:center;margin-left:auto}
.blp .nav-mid a{font-size:.86rem;color:var(--ink-2);font-weight:500;transition:color .3s}
.blp .nav-mid a:hover{color:var(--ink)}
.blp .nav-right{display:flex;gap:10px;align-items:center;margin-left:26px}
.blp .btn-sm{font-family:var(--f-jp);font-weight:700;font-size:.8rem;padding:10px 16px;border-radius:10px;display:inline-flex;align-items:center;gap:.4em;transition:transform .3s var(--ease),box-shadow .3s,background .3s}
.blp .btn-outline{border:1px solid var(--line);color:var(--ink);background:var(--paper)}
.blp .btn-outline:hover{border-color:var(--ink)}
.blp .btn-blue{background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(47,107,255,.28)}
.blp .btn-blue:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(47,107,255,.4)}
.blp .nav-toggle{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px;margin-left:auto}
.blp .nav-toggle span{width:24px;height:2px;background:var(--ink);transition:.3s}
@media(max-width:980px){
.blp .nav-mid{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:24px;background:rgba(251,252,255,.97);backdrop-filter:blur(20px);transform:translateY(-100%);transition:transform .5s var(--ease);margin:0}
.blp .nav-mid.open{transform:none}
.blp .nav-mid a{font-size:1.25rem}
.blp .nav-right{display:none}
.blp .nav-toggle{display:flex;z-index:90}
.blp .nav-toggle.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.blp .nav-toggle.open span:nth-child(2){opacity:0}
.blp .nav-toggle.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}
.blp .spy{position:fixed;right:22px;top:50%;transform:translateY(-50%);z-index:70;display:flex;flex-direction:column;gap:14px;align-items:flex-end}
.blp .spy a{display:flex;align-items:center;gap:10px;font-family:var(--f-disp);font-size:.62rem;letter-spacing:.12em;color:var(--ink-3);transition:color .3s}
.blp .spy a .d{width:7px;height:7px;border-radius:50%;background:var(--line);transition:.3s;flex:none}
.blp .spy a.on{color:var(--ink)}
.blp .spy a.on .d{background:var(--blue);box-shadow:0 0 0 4px rgba(47,107,255,.15)}
@media(max-width:1180px){
.blp .spy{display:none}
}
.blp .hero{position:relative;min-height:94svh;display:flex;align-items:center;overflow:hidden}
.blp .hero-net{position:absolute;right:0;top:0;width:66%;height:100%;z-index:0}
.blp .hero-net-fade{position:absolute;right:0;top:0;width:70%;height:100%;z-index:1;background:linear-gradient(90deg,#FBFCFF 0%,rgba(251,252,255,.4) 22%,transparent 55%);pointer-events:none}
.blp .hero-inner{position:relative;z-index:2;width:92%;max-width:var(--maxw);margin-inline:auto;padding-top:70px}
.blp .hero .eyebrow{margin-bottom:22px}
.blp .hero h1{font-family:var(--f-jp);font-weight:700;font-size:clamp(2.1rem,5.6vw,4.2rem);line-height:1.24;letter-spacing:-.01em;margin-bottom:24px}
.blp .hero h1 .ln{display:block;overflow:hidden}
.blp .hero h1 .ln > span{display:inline-block}
.blp .hero h1 .dot{color:var(--blue)}
.blp .hero-sub{font-size:clamp(1rem,1.4vw,1.16rem);color:var(--ink-2);margin-bottom:34px;line-height:1.9;max-width:38ch}
.blp .hero-cta{display:flex;gap:14px;flex-wrap:wrap}
.blp .btn{font-family:var(--f-jp);font-weight:700;font-size:.95rem;padding:15px 30px;border-radius:12px;cursor:pointer;border:1px solid transparent;display:inline-flex;align-items:center;gap:.6em;transition:transform .35s var(--ease),box-shadow .35s,background .35s,border-color .35s}
.blp .btn .arr{transition:transform .35s var(--ease)}
.blp .btn:hover .arr{transform:translateX(4px)}
.blp .btn-primary{background:var(--blue);color:#fff;box-shadow:0 12px 30px rgba(47,107,255,.32)}
.blp .btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 44px rgba(47,107,255,.44)}
.blp .btn-ghost{background:var(--paper);color:var(--ink);border-color:var(--line)}
.blp .btn-ghost:hover{border-color:var(--blue);color:var(--blue);transform:translateY(-3px)}
@media(max-width:820px){
.blp .hero-net{width:100%;opacity:.5}
.blp .hero-net-fade{width:100%;background:linear-gradient(180deg,#FBFCFF,rgba(251,252,255,.2))}
}
.blp .stats-wrap{position:relative;z-index:3;margin-top:-40px}
.blp .stats{display:grid;grid-template-columns:repeat(3,1fr);background:var(--paper);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow);overflow:hidden}
.blp .stat{display:flex;align-items:center;gap:18px;padding:30px 34px;position:relative}
.blp .stat + .stat::before{content:"";position:absolute;left:0;top:22%;height:56%;width:1px;background:var(--line)}
.blp .stat-ic{width:46px;height:46px;border-radius:12px;background:var(--blue-pale);color:var(--blue);display:flex;align-items:center;justify-content:center;flex:none}
.blp .stat-ic .ic{width:22px;height:22px}
.blp .stat-label{font-size:.78rem;color:var(--ink-2);margin-bottom:2px}
.blp .stat-num{font-family:var(--f-disp);font-weight:700;font-size:clamp(1.9rem,3.4vw,2.6rem);line-height:1;color:var(--blue);letter-spacing:-.02em}
.blp .stat-num .suf{font-family:var(--f-jp);font-size:.42em;color:var(--ink-2);font-weight:500;margin-left:.25em}
@media(max-width:760px){
.blp .stats{grid-template-columns:1fr}
.blp .stat + .stat::before{left:22px;right:22px;top:0;width:auto;height:1px}
}
.blp .sec{position:relative;padding:clamp(80px,11vh,140px) 0}
.blp .sec-c{text-align:center;margin-bottom:clamp(40px,6vh,64px)}
.blp .sec-c .eyebrow{justify-content:center;display:inline-flex;margin-bottom:14px}
.blp .sec-title{font-weight:700;font-size:clamp(1.6rem,3.4vw,2.6rem);letter-spacing:-.01em;line-height:1.3}
.blp .sec-sub{color:var(--ink-2);margin-top:12px;font-size:.98rem}
.blp .sec-head{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;flex-wrap:wrap;margin-bottom:40px}
.blp .sec-head .eyebrow{margin-bottom:10px}
.blp .sec-head h2{font-weight:700;font-size:clamp(1.5rem,3vw,2.2rem);letter-spacing:-.01em}
.blp .sec-head .sub{color:var(--ink-2);font-size:.9rem;margin-top:6px}
.blp .link-btn{font-size:.82rem;font-weight:700;color:var(--ink);border:1px solid var(--line);border-radius:10px;padding:10px 18px;display:inline-flex;gap:.5em;align-items:center;transition:.3s;white-space:nowrap}
.blp .link-btn:hover{border-color:var(--blue);color:var(--blue)}
.blp .about{text-align:center}
.blp .about h2{font-weight:700;font-size:clamp(1.5rem,3.2vw,2.4rem);line-height:1.5;letter-spacing:-.01em}
.blp .about p{color:var(--ink-2);max-width:52ch;margin:22px auto 0;line-height:2.05}
.blp .svc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.blp .svc-card{background:var(--paper);border:1px solid var(--line);border-radius:18px;padding:30px 28px;cursor:pointer;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;position:relative}
.blp .svc-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--sc) 45%,var(--line))}
.blp .svc-top{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.blp .svc-ic{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--sc) 12%,white);color:var(--sc);display:flex;align-items:center;justify-content:center;flex:none}
.blp .svc-ic .ic{width:26px;height:26px}
.blp .svc-label{font-family:var(--f-disp);font-size:.82rem;font-weight:700;letter-spacing:.02em}
.blp .svc-label .n{color:var(--ink-3);margin-right:.5em}
.blp .svc-label b{color:var(--sc)}
.blp .svc-card h3{font-size:1.18rem;font-weight:700;margin-bottom:10px}
.blp .svc-card p{color:var(--ink-2);font-size:.9rem;line-height:1.85;margin-bottom:18px}
.blp .svc-more{font-size:.84rem;font-weight:700;color:var(--sc);display:inline-flex;gap:.4em;align-items:center}
.blp .svc-more .arr{transition:transform .3s}
.blp .svc-card:hover .svc-more .arr{transform:translateX(4px)}
@media(max-width:900px){
.blp .svc-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:600px){
.blp .svc-grid{grid-template-columns:1fr}
}
.blp .works-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.blp .work-card{background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:24px 24px 26px;transition:transform .4s var(--ease),box-shadow .4s,border-color .4s;cursor:pointer}
.blp .work-card:hover{transform:translateY(-5px);box-shadow:var(--shadow);border-color:color-mix(in srgb,var(--cc) 40%,var(--line))}
.blp .work-top{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:14px}
.blp .work-logo{font-family:var(--f-disp);font-weight:700;font-size:1.7rem;letter-spacing:.01em;color:var(--ink);display:flex;align-items:center;gap:.3em}
.blp .work-logo .d{width:9px;height:9px;border-radius:50%;background:var(--cc)}
.blp .work-ind{font-size:.68rem;color:var(--ink-3);white-space:nowrap;padding-top:6px}
.blp .work-name{font-size:.92rem;font-weight:700;margin-bottom:10px}
.blp .work-tags{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px}
.blp .work-tags span{font-family:var(--f-disp);font-size:.6rem;font-weight:600;letter-spacing:.02em;padding:4px 9px;border-radius:6px}
.blp .work-desc{color:var(--ink-2);font-size:.8rem;line-height:1.8}
@media(max-width:900px){
.blp .works-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
.blp .works-grid{grid-template-columns:1fr}
}
.blp .voice-track{display:flex;gap:20px;overflow-x:auto;padding:6px 2px 26px;scroll-snap-type:x mandatory;scrollbar-width:none;cursor:grab}
.blp .voice-track::-webkit-scrollbar{display:none}
.blp .voice-track.drag{cursor:grabbing}
.blp .voice-card{scroll-snap-align:start;flex:0 0 min(400px,84vw);background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px;display:flex;gap:18px;align-items:flex-start;box-shadow:var(--shadow-sm)}
.blp .voice-photo{width:64px;height:64px;border-radius:14px;flex:none;background:var(--paper-3);display:flex;align-items:center;justify-content:center;font-family:var(--f-disp);font-weight:700;font-size:1.3rem;color:var(--ink-2);background-size:cover;background-position:center}
.blp .voice-body .vq{font-weight:700;font-size:1rem;line-height:1.6;margin-bottom:14px}
.blp .voice-body .vc{font-size:.76rem;color:var(--ink-3);margin-bottom:2px}
.blp .voice-body .vn{font-size:.86rem;font-weight:700;margin-bottom:8px}
.blp .voice-body .vn small{font-weight:400;color:var(--ink-2);margin-left:.4em}
.blp .voice-stars{color:#F5A623;font-size:.86rem;letter-spacing:.08em}
.blp .voice-nav{display:flex;gap:8px}
.blp .voice-nav button{width:42px;height:42px;border-radius:50%;border:1px solid var(--line);background:var(--paper);color:var(--ink);cursor:pointer;font-size:1rem;transition:.3s}
.blp .voice-nav button:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.blp .flow-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0;align-items:start}
.blp .flow-step{position:relative;padding:0 18px;text-align:left}
.blp .flow-step + .flow-step::before{content:"";position:absolute;left:0;top:22px;width:1px;height:44px;background:var(--line)}
.blp .flow-ic{width:44px;height:44px;border-radius:12px;background:var(--blue-pale);color:var(--blue);display:flex;align-items:center;justify-content:center;margin-bottom:16px}
.blp .flow-ic .ic{width:22px;height:22px}
.blp .flow-n{font-family:var(--f-disp);font-weight:700;font-size:1.5rem;color:var(--ink);line-height:1;margin-bottom:8px}
.blp .flow-t{font-weight:700;font-size:1rem;margin-bottom:8px}
.blp .flow-d{color:var(--ink-2);font-size:.82rem;line-height:1.8}
@media(max-width:860px){
.blp .flow-row{grid-template-columns:1fr 1fr;gap:28px 0}
.blp .flow-step+.flow-step::before{display:none}
}
@media(max-width:520px){
.blp .flow-row{grid-template-columns:1fr}
}
.blp .cta-wrap{padding:clamp(40px,7vh,90px) 0 clamp(80px,11vh,130px)}
.blp .cta{position:relative;overflow:hidden;background:linear-gradient(180deg,#F2F6FF,#EAF1FF);border:1px solid var(--glass-brd);border-radius:26px;padding:clamp(50px,7vw,88px) clamp(28px,6vw,60px);text-align:center}
.blp .cta-net{position:absolute;inset:0;z-index:0;opacity:.5}
.blp .cta-inner{position:relative;z-index:2}
.blp .cta h2{font-weight:700;font-size:clamp(1.6rem,3.6vw,2.6rem);margin-bottom:16px;letter-spacing:-.01em}
.blp .cta p{color:var(--ink-2);font-size:clamp(.95rem,1.3vw,1.08rem);line-height:1.9;max-width:52ch;margin:0 auto 32px}
.blp .footer{background:var(--paper);border-top:1px solid var(--line);padding:64px 0 34px}
.blp .foot-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr 1fr;gap:36px}
.blp .foot-brand .blogo{height:30px;margin-bottom:18px}
.blp .foot-brand .cinfo{color:var(--ink-2);font-size:.8rem;line-height:1.95}
.blp .foot-brand .cinfo b{color:var(--ink);font-weight:700;font-size:.9rem;display:block;margin-bottom:6px}
.blp .foot-col h4{font-size:.82rem;font-weight:700;margin-bottom:14px}
.blp .foot-col a{display:block;font-size:.8rem;color:var(--ink-2);padding:5px 0;transition:color .3s}
.blp .foot-col a:hover{color:var(--blue)}
.blp .foot-social h4{font-size:.72rem;font-family:var(--f-disp);letter-spacing:.14em;color:var(--ink-3);margin-bottom:14px}
.blp .foot-social .icons{display:flex;gap:14px}
.blp .foot-social .icons a{width:34px;height:34px;border-radius:9px;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink-2);transition:.3s}
.blp .foot-social .icons a:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.blp .foot-bottom{margin-top:48px;padding-top:22px;border-top:1px solid var(--line);text-align:right;font-size:.74rem;color:var(--ink-3)}
@media(max-width:900px){
.blp .foot-grid{grid-template-columns:1fr 1fr 1fr}
.blp .foot-brand{grid-column:1/-1}
.blp .foot-social{grid-column:1/-1}
}
@media(max-width:560px){
.blp .foot-grid{grid-template-columns:1fr 1fr}
}
.blp .modal{position:fixed;inset:0;z-index:120;display:none;align-items:center;justify-content:center;padding:24px}
.blp .modal.open{display:flex}
.blp .modal-bd{position:absolute;inset:0;background:rgba(17,23,38,.4);backdrop-filter:blur(8px);opacity:0;transition:opacity .4s}
.blp .modal.open .modal-bd{opacity:1}
.blp .modal-card{position:relative;z-index:2;width:min(560px,100%);max-height:88vh;overflow:auto;border-radius:22px;background:#fff;border:1px solid var(--glass-brd);box-shadow:var(--shadow-lg);transform:translateY(16px) scale(.98);opacity:0;transition:.45s var(--ease)}
.blp .modal.open .modal-card{transform:none;opacity:1}
.blp .modal-x{position:absolute;right:14px;top:14px;z-index:3;width:36px;height:36px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.9);color:var(--ink);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center}
.blp .mbox{padding:34px 34px 36px}
.blp .mhead{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.blp .mhead .mic{width:52px;height:52px;border-radius:14px;background:color-mix(in srgb,var(--cc) 12%,white);color:var(--cc);display:flex;align-items:center;justify-content:center}
.blp .mhead .mic .ic{width:26px;height:26px}
.blp .mhead .ml{font-family:var(--f-disp);font-weight:700;color:var(--cc);font-size:.9rem}
.blp .mhead .mr{font-size:.78rem;color:var(--ink-2)}
.blp .mbox h3{font-size:1.5rem;font-weight:700;margin-bottom:12px;line-height:1.4}
.blp .mbox p{color:var(--ink-2);line-height:2;margin-bottom:18px;font-size:.95rem}
.blp .mfeats{display:flex;flex-wrap:wrap;gap:8px}
.blp .mfeats span{font-size:.8rem;padding:7px 14px;border-radius:999px;border:1px solid color-mix(in srgb,var(--cc) 35%,transparent);background:color-mix(in srgb,var(--cc) 8%,white);color:color-mix(in srgb,var(--cc) 60%,var(--ink));font-weight:500}
.blp .mres{margin-top:16px;padding:14px 18px;border-radius:12px;background:color-mix(in srgb,var(--cc) 8%,white);border:1px solid color-mix(in srgb,var(--cc) 28%,transparent);font-weight:600;color:color-mix(in srgb,var(--cc) 55%,var(--ink))}
.blp .mag{will-change:transform}
@media(prefers-reduced-motion:reduce){
.blp *{animation:none!important;scroll-behavior:auto!important}
.blp .reveal{opacity:1!important;transform:none!important}
}

/* ===================== 独立LP：親テーマUI抑止 ===================== */
/* LPページのbody基本リセット（このページのみ・他ページ無影響） */
body.blp-standalone-page{margin:0;padding:0;background:#FBFCFF}
/* 親テーマが body 直下に出す固定ボタン/縦ナビ等の保険的非表示。
   （.blp 内・管理バーは除外。JS側でも position:fixed の残留要素を非表示にします） */
body.blp-standalone-page > *:not(.blp):not(#wpadminbar):not(script):not(style):not(link):not(noscript){}

/* ===================== LP専用ヘッダー ===================== */
.blp .blp-header{position:fixed;inset:0 0 auto 0;z-index:90;transition:background .4s,box-shadow .4s,border-color .4s}
.blp .blp-header.scrolled{background:rgba(255,255,255,.72);backdrop-filter:blur(20px) saturate(150%);-webkit-backdrop-filter:blur(20px) saturate(150%);border-bottom:1px solid var(--glass-brd);box-shadow:0 6px 24px rgba(17,23,38,.05)}
.blp .blp-header-in{width:92%;max-width:var(--maxw);margin-inline:auto;display:flex;align-items:center;gap:20px;padding:16px 0}
.blp .blp-header.scrolled .blp-header-in{padding:11px 0}
.blp .blp-brand{display:flex;align-items:center}
.blp .blp-brand .blogo{height:26px;color:var(--ink)}
.blp .blp-nav{display:flex;gap:26px;align-items:center;margin-left:auto}
.blp .blp-nav a{font-size:.86rem;color:var(--ink-2);font-weight:500;transition:color .3s}
.blp .blp-nav a:hover{color:var(--ink)}
.blp .blp-header-cta{font-family:var(--f-jp);font-weight:700;font-size:.82rem;padding:11px 20px;border-radius:10px;background:var(--blue);color:#fff;box-shadow:0 8px 20px rgba(47,107,255,.28);transition:transform .3s,box-shadow .3s}
.blp .blp-header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(47,107,255,.4)}
.blp .blp-burger{display:none;flex-direction:column;gap:5px;background:none;border:0;cursor:pointer;padding:6px}
.blp .blp-burger span{width:24px;height:2px;background:var(--ink);transition:.3s}
.blp .hero{padding-top:64px}
@media(max-width:900px){
  .blp .blp-nav{position:fixed;inset:0;flex-direction:column;justify-content:center;gap:24px;background:rgba(251,252,255,.97);backdrop-filter:blur(20px);transform:translateY(-100%);transition:transform .5s var(--ease);margin:0}
  .blp .blp-nav.open{transform:none}
  .blp .blp-nav a{font-size:1.25rem}
  .blp .blp-header-cta{margin-left:auto}
  .blp .blp-burger{display:flex;z-index:95}
  .blp .blp-burger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .blp .blp-burger.open span:nth-child(2){opacity:0}
  .blp .blp-burger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
}

/* ===================== LP専用フッター ===================== */
.blp .blp-footer{background:var(--paper);border-top:1px solid var(--line);padding:56px 0 28px;margin-top:0}
.blp .blp-footer-in{display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap}
.blp .blp-foot-brand{display:flex;align-items:center;gap:14px}
.blp .blp-foot-brand .blogo{height:28px;color:var(--ink)}
.blp .blp-foot-brand p{font-size:.86rem;color:var(--ink-2);font-weight:700}
.blp .blp-foot-links{display:flex;gap:22px;flex-wrap:wrap}
.blp .blp-foot-links a{font-size:.84rem;color:var(--ink-2);transition:color .3s}
.blp .blp-foot-links a:hover{color:var(--blue)}
.blp .blp-copy{width:92%;max-width:var(--maxw);margin:34px auto 0;padding-top:20px;border-top:1px solid var(--line);text-align:right;font-size:.74rem;color:var(--ink-3)}
@media(max-width:640px){.blp .blp-footer-in{flex-direction:column;align-items:flex-start;gap:18px}.blp .blp-copy{text-align:left}}

/* ===================== FAQ ===================== */
.blp .faq-list{max-width:820px;margin:0 auto;border-top:1px solid var(--line)}
.blp .faq-item{border-bottom:1px solid var(--line)}
.blp .faq-q{width:100%;display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;cursor:pointer;text-align:left;padding:22px 4px;font-family:var(--f-jp);font-weight:700;font-size:1.02rem;color:var(--ink);transition:color .3s}
.blp .faq-q:hover{color:var(--blue)}
.blp .faq-mark{position:relative;width:16px;height:16px;flex:none}
.blp .faq-mark::before,.blp .faq-mark::after{content:"";position:absolute;background:var(--blue);border-radius:2px;transition:transform .35s var(--ease)}
.blp .faq-mark::before{left:0;top:7px;width:16px;height:2px}
.blp .faq-mark::after{left:7px;top:0;width:2px;height:16px}
.blp .faq-item.open .faq-mark::after{transform:scaleY(0)}
.blp .faq-a{overflow:hidden;max-height:0;transition:max-height .4s var(--ease)}
.blp .faq-a-in{padding:0 4px 22px;color:var(--ink-2);line-height:1.9;font-size:.95rem}

/* ===================== 追加：v1.1 レイアウト調整 ===================== */
/* 実績数値：4項目 */
.blp .stats{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.blp .stats{grid-template-columns:repeat(2,1fr)}.blp .stat + .stat::before{display:none}.blp .stat:nth-child(3)::before,.blp .stat:nth-child(2)::before{}}
@media(max-width:520px){.blp .stats{grid-template-columns:1fr}}

/* ヒーロー背景メディア（画像/動画） */
.blp .hero-media{position:absolute;right:0;top:0;width:66%;height:100%;object-fit:cover;background-size:cover;background-position:center;opacity:.5}
@media(max-width:820px){.blp .hero-media{width:100%;opacity:.28}}

/* サービスカード：リンク化に伴う調整 */
.blp a.svc-card{color:inherit}
.blp .svc-label{display:flex;align-items:center}
.blp .svc-label .n{font-family:var(--f-disp);font-weight:700;color:var(--ink-3);font-size:.9rem}

/* 導入実績カード：画像サムネ＋本文 */
.blp .work-card{display:flex;flex-direction:column;overflow:hidden;color:inherit}
.blp .work-thumb{aspect-ratio:16/10;background:linear-gradient(140deg,#EAF1FF,#F4F7FE);display:flex;align-items:center;justify-content:center;overflow:hidden}
.blp .work-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.blp .work-card:hover .work-thumb img{transform:scale(1.05)}
.blp .work-thumb span{font-family:var(--f-disp);font-weight:700;font-size:2rem;color:var(--blue)}
.blp .work-body{padding:20px 22px 22px}
.blp .work-name{font-weight:700;font-size:1.06rem;margin-bottom:8px}
.blp .work-desc{color:var(--ink-2);font-size:.86rem;line-height:1.8}

/* CTAボタン群（ボタン/電話/LINE） */
.blp .cta-btns{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}
.blp .cta-btns .btn-ghost{background:#fff}

/* ===================== サービス：ロゴ画像表示 ===================== */
.blp .svc-logo{display:flex;align-items:center;height:52px;max-width:170px}
.blp .svc-logo img{max-height:52px;max-width:170px;width:auto;height:auto;object-fit:contain}
/* タイトルはSEO用にDOM保持、画面には出さない */
.blp .svc-title-seo{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ===================== v2.1 レイアウト調整 ===================== */
/* 実績数値：3項目に戻す */
.blp .stats{grid-template-columns:repeat(3,1fr)}
@media(max-width:760px){.blp .stats{grid-template-columns:1fr}}

/* サービス：サブタイトル・特徴タグ */
.blp .svc-subtitle{font-weight:700;font-size:.92rem;color:var(--sc);margin:2px 0 8px}
.blp .svc-feats{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 4px}
.blp .svc-feats span{font-size:.72rem;padding:4px 10px;border-radius:999px;background:color-mix(in srgb,var(--sc) 9%,white);color:color-mix(in srgb,var(--sc) 55%,var(--ink));border:1px solid color-mix(in srgb,var(--sc) 22%,transparent)}

/* 導入実績：業種・地域メタ／タグ */
.blp .work-meta{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.blp .work-meta span{font-size:.68rem;color:var(--ink-3)}
.blp .work-tags{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0 10px}
.blp .work-tags span{font-family:var(--f-disp);font-size:.6rem;font-weight:600;padding:4px 9px;border-radius:6px}
