:root{
--v3-blue:#7542ED; --v3-blue-d:#3E3184; --v3-deep:#221A5A; --v3-sky2:#CFCAF0; --v3-sky:#E3E0F7; --v3-mist:#CFCAF0; --v3-pale:#CFCAF0; --v3-mid:#8B5CF6;
--v3-paper:#F5F4F0; --v3-card:#FFFFFF; --v3-ink:#1C1A2E; --v3-ink2:#4A4860; --v3-ink3:#5A5870; --v3-line:#E3E1DB;
--v3-sans:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
--v3-ease:cubic-bezier(.16,1,.3,1);
--v3-w:min(1200px,calc(100% - 2 * var(--gut)));
--v3-pad:clamp(88px,9vw,136px);
--v3-h:clamp(34px,4.7vw,68px);
}
.p-fab::before{content:""}
.t-hero-actions .t-btn-line{border:1px solid var(--violet)}
@media (min-width:768px){.t-hero-copy .t-hero-lede{margin-top:28px}}
.t-hero-copy .t-hero-lede{margin-left:auto;margin-right:auto}
.t-hero-copy .t-hero-lede br{display:inline}
:root{
--v4-en:"Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
--v4-min:"Hiragino Mincho ProN","Yu Mincho","Zen Old Mincho",serif;
--v4-navy:#221A5A; --v4-deep:#221A5A; --v4-peri:#CFCAF0;
--v4-line:rgba(34,26,90,.16); --v4-line-d:rgba(255,255,255,.2);
--v4-pad:clamp(96px,10vw,160px);
}
.v4{font-family:var(--v3-sans);font-feature-settings:"palt";-webkit-font-smoothing:antialiased;color:var(--v3-ink);background:var(--v3-paper)}
.v4 p,.v4 h1,.v4 h2,.v4 h3,.v4 ul,.v4 ol,.v4 figure{margin:0}
main :is(p,h1,h2,h3,h4,li,dd,dt,td,th,label,figcaption,strong,span,small,b,a,em){word-break:auto-phrase;text-wrap:pretty}
.v4 ul,.v4 ol{list-style:none;padding:0}
.v4 img{display:block;max-width:100%}
.v4-in{position:relative;z-index:2;width:var(--v3-w);margin:0 auto}
.v4-sec{position:relative;padding:var(--v4-pad) 0;background:var(--v3-paper)}
.v4-sec.is-white{background:#fff}
.v4-center{display:flex;justify-content:center;margin-top:clamp(48px,5vw,72px)}
.v4 a:focus-visible{outline:2px solid var(--v3-blue);outline-offset:4px;box-shadow:0 0 0 6px var(--v3-paper)}
.v4-sh{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:32px 64px;align-items:end;margin-bottom:clamp(56px,6vw,96px)}
.v4-sh-h{display:flex;flex-direction:column;gap:16px;font-weight:400}
.v4-en{font-family:var(--v4-en);font-weight:700;font-size:clamp(64px,9.4vw,136px);line-height:.86;letter-spacing:-.045em;color:var(--v4-navy);padding-bottom:.06em}
.v4-jp{display:flex;align-items:center;gap:12px;font-size:15px;font-weight:700;letter-spacing:.2em;color:var(--v3-blue)}
.v4-jp::before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor}
.v4-sh-d{font-size:16px;line-height:2;font-weight:500;color:var(--v3-ink2);padding-bottom:16px;max-width:30em}
.v4-sh.is-dark .v4-en{color:#fff}
.v4-sh.is-dark .v4-jp{color:var(--v4-peri)}
.v4-sh.is-dark .v4-sh-d{color:#E3E0F7}
.v4-btn{display:inline-flex;align-items:center;justify-content:center;gap:16px;min-height:56px;padding:0 32px;font-size:15px;font-weight:700;letter-spacing:.04em;text-decoration:none;border:1px solid var(--v4-navy);color:var(--v4-navy);background:transparent;transition:background .3s,color .3s}
.v4-btn:hover{background:var(--v4-navy);color:#fff}
.v4-btn.is-w{background:#fff;border-color:#fff;color:var(--v3-blue-d)}
.v4-btn.is-w:hover{background:transparent;color:#fff}
.v4-btn.is-wl{border-color:rgba(255,255,255,.7);color:#fff}
.v4-btn.is-wl:hover{background:#fff;color:var(--v3-blue-d)}
.v4-arw{font-weight:500;display:inline-block;transition:transform .4s var(--v3-ease)}
a:hover>.v4-arw,a:hover .v4-arw{transform:translateX(5px)}
.v4-about{color:#fff;padding:clamp(112px,11vw,176px) 0;overflow:hidden;
background:linear-gradient(180deg,#7542ED 0,rgba(117,66,237,0) 280px),radial-gradient(900px 800px at 78% 70%,rgba(139,92,246,.45),transparent 65%),linear-gradient(135deg,#221A5A,#3E3184 60%,#3E3184)}
.v4-about::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.17) 1.4px,transparent 1.7px);background-size:24px 24px;-webkit-mask:linear-gradient(120deg,rgba(0,0,0,.15),#000);mask:linear-gradient(120deg,rgba(0,0,0,.15),#000)}
.v4-about-h{font-size:clamp(36px,5.2vw,76px);line-height:1.28;font-weight:800;letter-spacing:.01em}
.v5-proof{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:48px 32px;margin-top:clamp(64px,6.4vw,96px)!important}
.v5-proof li{border-top:1px solid rgba(255,255,255,.32);padding-top:24px}
.v5-proof-k{font-size:14px;font-weight:700;letter-spacing:.08em;color:var(--v4-peri)}
.v5-proof-n{margin-top:16px!important;font-size:clamp(56px,6.1vw,92px);line-height:1;font-weight:800;letter-spacing:-.02em;color:#fff;white-space:nowrap;font-feature-settings:"palt"}
.v5-proof-n small{font-size:24px;font-weight:700;letter-spacing:0;margin-left:4px}
.v5-proof-d{margin-top:24px!important;font-size:15px;line-height:1.8;font-weight:500;color:#fff}
.v5-nb{display:inline-block}
.v5-proof-note{margin-top:8px!important;font-size:12px;line-height:1.6;color:var(--v4-peri)}
.v4-model{background:var(--v3-paper);padding:clamp(32px,4vw,64px)}
.v4-model-g{display:grid;grid-template-columns:48px minmax(0,6fr) minmax(0,4fr) 120px;gap:0 24px;align-items:stretch}
.v4-model-br{position:relative;border:2px solid var(--v3-blue);border-right:0;margin:6% 0 3%;display:flex;align-items:center}
.v4-model-br span{position:absolute;left:-14px;top:50%;transform:translateY(-50%);writing-mode:vertical-rl;background:var(--v3-paper);padding:12px 4px;font-size:15px;font-weight:800;letter-spacing:.2em;color:var(--v3-blue)}
.v4-model-vis{align-self:center}
.v4-model-svg{display:block;width:100%;height:auto;overflow:visible}
.v4-model-g{padding-bottom:48px}
.v4-model-lab{display:grid;grid-template-rows:repeat(3,1fr)}
.v4-model-lab li{display:grid;grid-template-columns:40px 1fr;align-content:center;gap:4px 8px;border-bottom:1px solid var(--v4-line)}
.v4-model-lab li:last-child{border-bottom:0}
.v4-model-lab b{grid-row:span 2;font-size:13px;font-weight:700;color:var(--v3-blue);padding-top:6px}
.v4-model-lab strong{font-size:clamp(20px,1.9vw,26px);font-weight:800}
.v4-model-lab span{font-size:14px;color:var(--v3-ink2);line-height:1.7}
.v4-model-lab em{display:none}
.v4-model-biz{display:grid;grid-template-rows:1fr 2fr}
.v4-model-biz p{position:relative;display:flex;align-items:center;margin:12px 0!important;padding-left:20px;border-left:2px solid var(--v3-blue)}
.v4-model-biz p.is-dev{border-color:var(--v4-navy)}
.v4-model-biz span{font-size:14px;font-weight:800;line-height:1.5;color:var(--v3-blue)}
.v4-model-biz p.is-dev span{color:var(--v4-navy)}
.v4-model-base{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:32px;padding:24px 32px;background:var(--v4-navy);color:#fff}
.v4-model-base p{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px}
.v4-model-base strong{font-size:22px;font-weight:800}
.v4-model-base span{font-size:15px;color:#E3E0F7}
.v4-model-base svg{width:96px;flex:none;color:var(--v4-peri)}
.v4-win{width:100%;max-width:560px;background:#fff;color:var(--v3-ink);box-shadow:0 24px 48px -20px rgba(0,0,0,.45);font-size:13px}
.v4-win-bar{display:flex;align-items:center;gap:6px;padding:10px 14px;background:#E3E0F7;border-bottom:1px solid #E3E1DB}
.v4-win-bar i{width:10px;height:10px;border-radius:50%;background:#CFCAF0}
.v4-win-bar span{margin-left:8px;font-size:12px;font-weight:700;color:var(--v3-ink2)}
.v4-win-b{padding:18px}
.v4-win-cmd{display:flex;align-items:center;gap:10px;font-weight:700}
.v4-win-cmd span{font-size:11px;padding:2px 8px;background:var(--v3-blue);color:#fff;font-weight:800}
.v4-win-stop{margin-top:12px;padding:14px 16px;border-left:3px solid #7542ED;background:#E3E0F7;line-height:1.7}
.v4-win-stop b{display:block;color:#221A5A}
.v4-win-stop p{margin-top:6px!important;color:var(--v3-ink2);font-size:12px}
.v4-win-q{margin-top:12px!important;border-top:1px solid #E3E1DB}
.v4-win-q li{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid #E3E1DB}
.v4-win-q em{font-style:normal;font-weight:700;color:#555555}
.v4-win-q em.ok{color:#7542ED}
.v4-phil{background:var(--v3-paper)}
.v4-phil-band{background:var(--v4-deep);color:#fff;padding:var(--v4-pad) 0 0}
.v4-phil-band .v4-sh{margin-bottom:clamp(56px,6vw,88px)}
.v4-phil-ph{position:relative;margin-bottom:calc(-1 * clamp(160px,16vw,240px))!important;aspect-ratio:21/8;overflow:hidden}
.v4-phil-ph img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.v4-phil-st{padding:calc(clamp(160px,16vw,240px) + clamp(72px,8vw,120px)) 0 clamp(72px,8vw,120px);text-align:center}
.v4-phil-name{display:flex;justify-content:center;align-items:center;gap:24px;font-family:var(--v4-en);font-weight:600;font-size:clamp(18px,1.8vw,24px);letter-spacing:.12em;color:var(--v3-ink3)}
.v4-phil-name s{text-decoration:none;position:relative;color:var(--v3-ink3)}
.v4-phil-name s::after{content:"";position:absolute;left:-2px;right:-2px;top:50%;border-top:2px solid var(--v3-ink3)}
.v4-phil-name em{font-style:normal;color:var(--v3-blue)}
.v4-phil-name b{font-weight:400;color:var(--v3-blue)}
.v4-phil-q{margin-top:40px!important;font-family:var(--v4-min);font-weight:600;font-size:clamp(30px,4.4vw,64px);line-height:1.6;letter-spacing:.06em;color:var(--v4-navy);font-feature-settings:normal}
.v4-rep{padding:0 0 var(--v4-pad)}
.v4-news-l{border-top:1px solid var(--v4-line)}
.v4-news-l a{display:grid;grid-template-columns:140px 120px 1fr 32px;align-items:center;gap:16px;padding:28px 0;border-bottom:1px solid var(--v4-line);color:var(--v4-navy);text-decoration:none}
.v4-news-l time{font-size:14px;color:var(--v3-ink3);font-variant-numeric:tabular-nums}
.v4-news-c{justify-self:start;font-size:12px;padding:2px 10px;border:1px solid var(--v4-line);color:var(--v3-ink2)}
.v4-news-t{font-size:17px;font-weight:700}
.v4-news-l .v4-arw{justify-self:end;color:var(--v3-blue)}
.v4-contact{position:relative;overflow:hidden;color:#fff;padding:clamp(80px,9vw,140px) 0;background:linear-gradient(135deg,#3E3184,#7542ED 70%,#8B5CF6)}
.v4-contact::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.16) 1.4px,transparent 1.7px);background-size:24px 24px;-webkit-mask:linear-gradient(100deg,transparent 30%,#000);mask:linear-gradient(100deg,transparent 30%,#000)}
.v4-ct-main{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;color:#fff;text-decoration:none;padding-bottom:clamp(40px,4vw,56px);border-bottom:1px solid rgba(255,255,255,.35)}
.v4-ct-h{display:flex;flex-direction:column;gap:16px;font-weight:400}
.v4-ct-h .v4-en{color:#fff}
.v4-ct-h .v4-jp{color:#E3E0F7}
.v4-ct-arw{width:clamp(56px,6vw,88px);flex:none;transition:transform .5s var(--v3-ease)}
.v4-ct-arw svg{display:block;width:100%}
.v4-ct-main:hover .v4-ct-arw{transform:translate(8px,-8px)}
.v4-ct-sub{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:24px 64px;margin-top:clamp(40px,4vw,56px);align-items:start}
.v4-ct-catch{font-size:clamp(24px,2.4vw,34px);font-weight:800;line-height:1.5}
.v4-ct-lead{font-size:16px;line-height:2;color:#E3E0F7}
.v4-ct-act{display:flex;flex-wrap:wrap;gap:16px;margin-top:24px;grid-column:2}
.v4-sp-head{padding:calc(var(--hh, 72px) + clamp(48px,5vw,80px)) 0 clamp(80px,8vw,120px);background:var(--v3-paper)}
.v4-cap{position:relative;color:#fff;background:var(--v4-navy);padding:var(--v4-pad) 0}
.v4-strong{position:relative;overflow:hidden;color:#fff;padding:var(--v4-pad) 0;background:var(--v4-navy)}
.v4-strong::after{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.12) 1.4px,transparent 1.7px);background-size:24px 24px;-webkit-mask:linear-gradient(100deg,transparent 40%,#000);mask:linear-gradient(100deg,transparent 40%,#000)}
.v4-flag{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:24px 64px;align-items:end;padding-bottom:clamp(40px,4vw,56px);margin-bottom:clamp(48px,5vw,72px);border-bottom:2px solid var(--v4-navy)}
.v4-flag-h{font-family:var(--v4-en);font-size:clamp(44px,7.2vw,104px);font-weight:700;line-height:.95;letter-spacing:-.04em;color:var(--v4-navy);padding-bottom:.08em}
.v4-flag-p{font-size:clamp(18px,1.6vw,22px);line-height:1.7;font-weight:800;color:var(--v4-navy);padding-bottom:12px}
.v4-flag-p small{display:block;margin-top:12px;font-size:15px;line-height:1.9;font-weight:500;color:var(--v3-ink2)}
.v4-flag-h{font-size:clamp(56px,9.4vw,136px)}
.v4-sec-lbl{display:flex;align-items:center;gap:12px;margin-bottom:32px!important;font-size:15px;font-weight:700;letter-spacing:.2em;color:var(--v3-blue)}
.v4-sec-lbl::before{content:"";width:10px;height:10px;border-radius:50%;background:currentColor}
.v4-sec-lbl span{font-family:var(--v4-en);letter-spacing:.06em;padding-right:12px;border-right:1px solid var(--v4-line)}
@media (max-width:1023px){
.v4-flag{grid-template-columns:1fr}
}
@media (max-width:767px){
.v4-flag-h{font-size:clamp(48px,14vw,64px)}
.v4-flag-p{font-size:15px}
}
html.v4-mo .v4-rv{transition:clip-path 1s var(--v3-ease),transform 1s var(--v3-ease)}
html.v4-mo .v4-a{transition:transform .9s var(--v3-ease),clip-path .9s var(--v3-ease);transition-delay:calc(var(--i,0) * 90ms)}
html.v4-mo [data-v4]:not(.is-in) .v4-rv{clip-path:inset(0 0 100% 0);transform:translateY(32px)}
html.v4-mo [data-v4]:not(.is-in) .v4-a{transform:translateY(32px);clip-path:inset(0 0 100% 0)}
@media (max-width:1023px){
.v4-sh,.v4-about-g,.v4-svc-g2,.v4-cap-g,.v4-ct-sub,.v4-rep-g,.v4-pr-g{grid-template-columns:1fr}
.v4-ct-act{grid-column:1}
.v5-proof{grid-template-columns:repeat(2,minmax(0,1fr));gap:48px}
.v4-model-g{grid-template-columns:40px minmax(0,1fr) minmax(0,1fr)}
.v4-model-biz{display:none}
.v4-model-lab em{display:block;grid-column:2;font-style:normal;font-size:12px;font-weight:700;color:var(--v3-blue)}
}
@media (max-width:767px){
:root{--v4-pad:clamp(72px,18vw,96px)}
.v4-en{font-size:clamp(56px,17vw,80px)}
.v4-sh{margin-bottom:48px;gap:24px}
.v4-sh-d{font-size:15px;padding-bottom:0}
.v4-about-h{font-size:clamp(30px,8.6vw,40px)}
.v5-proof{grid-template-columns:1fr;gap:40px;margin-top:48px!important}
.v5-proof-n{font-size:64px}
.v5-proof-n small{font-size:22px}
.v4-model{padding:20px 16px}
.v4-model-g{grid-template-columns:1fr}
.v4-model-br{margin:0 0 16px;border:0;border-top:2px solid var(--v3-blue);justify-content:center}
.v4-model-br span{position:static;transform:none;writing-mode:horizontal-tb;padding:8px 12px;margin-top:-20px;background:var(--v3-paper)}
.v4-model-vis{max-width:360px;margin:0 auto}
.v4-model-lab li{padding:16px 0}
.v4-model-base{flex-direction:column;align-items:flex-start;padding:20px}
.v4-model-base svg{display:none}
.v4-phil-ph{aspect-ratio:4/3;margin-bottom:-120px!important}
.v4-phil-st{padding:184px 0 72px}
.v4-phil-name{gap:12px;font-size:16px}
.v4-phil-q{font-size:clamp(22px,6vw,30px);letter-spacing:.02em}
.v4-svc-ph .is-1{width:80%}.v4-svc-ph .is-2{top:auto;bottom:12%;width:58%}.v4-svc-ph .is-3{width:30%}
.v4-news-l a{grid-template-columns:1fr 20px;gap:8px 12px;padding:20px 0}
.v4-news-l time{grid-column:1}
.v4-news-c{grid-column:1;grid-row:2}
.v4-news-t{grid-column:1;font-size:16px}
.v4-news-l .v4-arw{grid-column:2;grid-row:1/4}
.v4-ct-main{align-items:flex-end}
.v4-btn{width:100%}
.v4-ct-act{width:100%}
}
@media (prefers-reduced-motion:reduce){.v4 *{transition:none!important}}
:root{--logo:"Archivo","Poppins",sans-serif;--en:"Hiragino Sans","Hiragino Kaku Gothic ProN",sans-serif;
--paper:#F5F4F0;--ink:#262626;--ink-2:#555555;--ink-3:#7A7A7A;--deep:#221A5A;--deepest:#221A5A;--violet-d:#3E3184;--violet-l:#8B5CF6;--peri:#CFCAF0;--ice:#E3E0F7;--c-body:#E3E0F7;--c-sub:#CFCAF0;--line:rgba(34,26,90,.14);--mute:#7A7A7A;
--v4-grad:radial-gradient(900px 800px at 78% 70%,rgba(139,92,246,.45),transparent 65%),linear-gradient(135deg,#221A5A,#3E3184 60%,#3E3184)}
.v4-en,.v4-flag-h,.v4-ap-h span,.v4-ot-h span,.v4-rl-big,.v4-ot-flag span{font-family:var(--v4-en);font-weight:800;letter-spacing:-.025em}
.v4-sec-lbl span,.v4-sp-no span,.v4-cap-h span,.v4-st-k,.v4-phil-name{font-family:var(--v4-en);font-weight:700;letter-spacing:.04em}
.v4-cap,.v4-strong,.v4-phil-band,.v4-model-base,.v4-wk-vis.is-ops,.v4-rl-vis.is-ops,.p-foot{background:var(--v4-grad)!important;position:relative}
.v4-cap::before,.v4-phil-band::before{content:"";position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle,rgba(255,255,255,.14) 1.4px,transparent 1.7px);background-size:24px 24px;-webkit-mask:linear-gradient(110deg,transparent 35%,#000);mask:linear-gradient(110deg,transparent 35%,#000)}
.v4-cap>.v4-in,.v4-phil-band>.v4-in{position:relative;z-index:2}
.v4-svc,.v4-mdl,.v4-work{overflow:hidden}
.v4-chap{position:absolute;z-index:0;right:max(-24px,calc((100% - 1320px) / 2));top:clamp(32px,4vw,64px);width:min(44vw,600px);height:auto;opacity:.3;pointer-events:none}
.v4-phil-st,.v4-sp-head{position:relative;overflow:hidden}
.v4-cov{position:absolute;z-index:0;right:0;top:0;height:100%;width:auto;max-width:none;pointer-events:none}
.v4-phil-st>.v4-in,.v4-sp-head>.v4-in{position:relative;z-index:2}
@media (max-width:767px){.v4-chap{width:84vw;opacity:.12;top:24px}.v4-cov{opacity:.5}}
main input[type=checkbox],main input[type=radio]{accent-color:#7542ED}
main input[type=text]:not([class]){border-color:#7A7A7A}
.v4-en{font-size:clamp(56px,8vw,116px)}
.v4-flag-h{font-size:clamp(52px,8.2vw,120px)}
@media (max-width:767px){.v4-en{font-size:clamp(40px,12vw,56px)}.v4-flag-h{font-size:clamp(40px,12.4vw,56px)}}
@media (min-width:768px){.p-fab{display:none!important}}
@media (max-width:767px){.p-foot{padding-bottom:96px!important}}
@media (max-width:1023px){
}
@media (max-width:767px){
}
.v5{--v4-pad:clamp(72px,8vw,112px)}
.v5 .v4-en{font-size:clamp(48px,6.4vw,92px)}
.v5 .v4-flag-h{font-size:clamp(48px,6.6vw,96px)}
.v5 .v4-about-h{font-size:clamp(32px,4.2vw,60px)}
.v5 .v4-about{padding:clamp(88px,9vw,128px) 0}
.v5 .v4-sh{margin-bottom:clamp(40px,4.4vw,64px)}
.v5 .v4-flag{margin-bottom:clamp(40px,4.4vw,56px)}
.v5 .v4-phil-q{font-size:clamp(26px,3.4vw,48px)}
.v5 .v4-ct-h .v4-en{font-size:clamp(48px,6.4vw,92px)}
.v5-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.v5-card .p-card-photo img{aspect-ratio:16/9;object-fit:cover;width:100%;height:auto}
.v5-card-k{display:flex;align-items:baseline;gap:8px;margin:16px 0 4px!important;font-size:12px;font-weight:700;letter-spacing:.06em;color:#555555}
.v5-card-k b{font-size:14px;color:#7542ED}
.v5-card .p-card-top h3{color:#221A5A}
@media (max-width:767px){
.v5 .v4-en,.v5 .v4-ct-h .v4-en{font-size:clamp(40px,12vw,54px)}
.v5 .v4-flag-h{font-size:clamp(40px,12.4vw,54px)}
.v5-cards{grid-template-columns:1fr}
}
@media (max-width:767px){.v5 .v4-phil-q{font-size:22px;letter-spacing:.02em}}
@media (max-width:1023px){
}
@media (max-width:767px){
}
.v5-prodct{--en:"Poppins","Noto Sans JP",sans-serif;--paper:rgb(246 245 240);--ink:rgb(24 35 59);--ink-2:rgb(78 87 112);--mute:rgb(107 114 133);--peri:rgb(207 202 240);--line:rgb(24 35 59 / .16)}
.t-head{--en:"Poppins","Noto Sans JP",sans-serif;--ink:rgb(24 35 59);--ink-2:rgb(78 87 112);--peri:rgb(207 202 240);--line:rgb(24 35 59 / .16);box-shadow:0 6px 28px rgb(14 23 48 / .18)}
.p-drop{background:rgb(246 245 240)}
.p-drop a:hover,.p-drop a:focus-visible{color:rgb(246 245 240)}
.t-nav .t-nav-cta:hover,.t-nav .t-nav-cta:focus-visible{background:rgb(227 224 247)}
@media (max-width:1023px){
html.p-menu-open .t-head{background:rgb(246 245 240)}
html.p-menu-open .t-nav .t-nav-cta{color:rgb(246 245 240)}
}
.v5-prodct section[id]{scroll-margin-top:32px}
.v5p-about-g{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:clamp(32px,4.4vw,64px);align-items:center}
.v5p-about-tx .p-catch{margin:0 0 24px;color:var(--ink)}
.v5p-about-tx .p-lead{margin:0 0 16px}
.v5p-about-tx .p-lead.v5p-lead1{font-weight:700;color:var(--ink)}
.v5p-about-tx .p-more{margin-top:24px}
.v5p-about-ph{height:clamp(240px,26vw,380px)}
.v5p-about-ph img{object-position:50% 40%}
.v5p-svc-lead strong{display:block;margin-bottom:4px;font-size:17px;font-weight:700;color:var(--ink)}
.p-card .v5p-card-k{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:0 0 10px;font:700 12px/1.5 var(--jp);letter-spacing:.04em;color:var(--ink-2)}
.p-card .v5p-card-k b{font-weight:700;color:var(--violet)}
.v5p-phil .v4-phil-band{padding:var(--sec) 0 0;color:#fff}
.v5p-phil .p-sh .jp{color:rgb(227 224 247)}
.v5p-phil .p-shrow{align-items:flex-end}
.v5p-phil .v5p-shd{margin:0;max-width:30em;color:rgb(227 224 247)}
.v5p-phil .v5p-phil-ph{position:relative;z-index:3;height:auto;aspect-ratio:21/8;margin:0 0 calc(-1 * clamp(120px,13vw,200px))}
.v5p-phil .v5p-phil-ph img{object-position:center 55%}
.v5p-phil .v4-phil-st{padding:calc(clamp(120px,13vw,200px) + var(--sec)) 0 var(--sec)}
.v5p-phil .v4-phil-name{margin:0;font-family:var(--en);font-weight:600;letter-spacing:.08em}
.v5p-phil .v4-phil-q{margin:32px 0 0!important;font-size:clamp(24px,2.8vw,40px)}
.v4-phil-q.v5p-rv>span{display:block}
.v5p-center{text-align:center}
.v5p-phil .p-more{margin-top:clamp(32px,4vw,48px)}
@media (max-width:1023px){
.v5p-about-g{grid-template-columns:1fr}
.v5p-about-ph{height:auto;aspect-ratio:16/9}
}
@media (max-width:767px){
.v5p-about-ph{aspect-ratio:3/2}
.v5p-phil .v5p-phil-ph{aspect-ratio:4/3;margin-bottom:-96px}
.v5p-phil .v4-phil-st{padding:calc(96px + var(--sec)) 0 var(--sec)}
.v5p-phil .v4-phil-q{font-size:22px;letter-spacing:.02em}
}
.v5s .p-shero .p-kicker{margin:0 0 16px;color:var(--peri)}
.v5s .p-shero .p-lead{max-width:44em;margin:20px 0 0;color:rgb(227 224 247)}
.p-qcs.v5s-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.v5s-nc{display:block}
a.v5s-nc h3{transition:color .3s}
a.v5s-nc:hover h3{color:var(--violet)}
.p-qc .v5s-num{margin:14px 0 0;font:900 clamp(44px,4.4vw,64px)/1 var(--jp);letter-spacing:-.01em;color:var(--violet);white-space:nowrap}
.p-qc .v5s-num small{margin-left:4px;font-size:18px;font-weight:700;color:var(--ink)}
.p-qc .v5s-cap{margin:12px 0 0;font-size:13px;line-height:1.7}
.v5s-nc h3{margin-top:16px}
.p-qc .v5s-price{margin:16px 0 0;font:900 clamp(36px,3.4vw,48px)/1 var(--jp);color:var(--ink);white-space:nowrap}
.p-qc .v5s-price small{margin-left:4px;font-size:16px;font-weight:700}
.p-qc .v5s-price.is-free{color:var(--violet)}
.p-qc .v5s-term{margin:10px 0 0;font-size:13px;font-weight:700;color:var(--violet-d)}
.p-qc.v5s-tier.is-main{background:var(--violet);border-top-color:var(--deep);color:#fff}
.p-qc.v5s-tier.is-main .p-sno,.p-qc.v5s-tier.is-main h3,.p-qc.v5s-tier.is-main .v5s-price,.p-qc.v5s-tier.is-main .v5s-term{color:#fff}
.p-qc.v5s-tier.is-main p{color:rgb(227 224 247)}
.p-about2.v5s-cap{align-items:center;padding-top:0;border-top:0}
.v5s-cap .p-stk-r{grid-template-columns:minmax(0,15em) minmax(0,1fr)}
.v5s-cap .p-stk dd{display:block;font-size:14px;line-height:1.85;color:var(--ink-2)}
.p-next .v5s-nx-l{display:block;margin-top:6px;font:500 13px/1.7 var(--jp);font-style:normal;color:var(--ink-2)}
.p-next a small{letter-spacing:.06em}
.p-lead.v5s-flag strong{display:block;margin-bottom:4px;font:700 clamp(20px,2vw,28px)/1.3 var(--en);color:var(--ink)}
.p-note.v5s-after{margin:24px 0 0}
.v5s-entries>div{display:flex;flex-direction:column;align-items:flex-start}
.v5s-entries .t-btn{margin-top:28px}
.v5s-sheet{align-self:stretch;margin:24px 0 0}
.v5s-sheet-pg{padding:22px 24px 18px;background:#fff;color:var(--ink);box-shadow:0 18px 40px -24px rgb(34 26 90 / .5)}
.p-split .v5s-sheet p.v5s-sheet-br{margin:0;font:600 12px/1 var(--logo);font-stretch:104%;letter-spacing:.1em;color:var(--ink)}
.v5s-sheet-br span{color:var(--violet)}
.p-split .v5s-sheet p.v5s-sheet-t{margin:12px 0 12px;font:900 16px/1.4 var(--jp);color:var(--ink)}
.v5s-sheet-pg div{display:grid;grid-template-columns:minmax(0,10em) minmax(0,1fr);gap:6px 12px;align-items:center;padding:9px 0;border-top:1px solid var(--line)}
.v5s-sheet-pg b{grid-row:span 2;font-size:12px;font-weight:700;color:var(--violet-d)}
.v5s-sheet-pg i{display:block;height:6px;background:rgb(227 224 247)}
.v5s-sheet-pg i.s{width:60%}
.v5s-sheet figcaption{margin-top:8px;font-size:12px;color:var(--ink-2)}
.p-keep .v5s-sheet figcaption{color:rgb(227 224 247)}
.p-about2.v5s-scr{align-items:center}
.v5s-scr .v4-win{justify-self:end}
.v5s-org dd em{font-style:normal;font-size:15px;font-weight:700;line-height:1.7}
.v5s-heat{margin:0;overflow-x:auto;max-width:760px}
.v5s-heat-m,.v5s-heat-g{display:grid;gap:4px;min-width:340px}
.v5s-heat-m{margin-bottom:6px;font-size:12px;color:var(--ink-2)}
.v5s-heat-g{grid-template-rows:repeat(7,1fr)}
.v5s-heat-g i,.v5s-heat figcaption i{display:block;aspect-ratio:1;border-radius:2px;background:rgb(227 224 247)}
.v5s-heat i.lx{background:transparent}
.v5s-heat i.l1{background:var(--v3-pale)}.v5s-heat i.l2{background:var(--v3-mid)}.v5s-heat i.l3{background:var(--v3-blue)}.v5s-heat i.l4{background:var(--v3-deep)}
.v5s-heat figcaption{display:flex;align-items:center;gap:6px;margin-top:14px;font-size:12px;color:var(--ink-2)}
.v5s-heat figcaption i{width:14px}
@media (max-width:767px){
.p-qcs.v5s-3{grid-template-columns:1fr}
.v5s-scr .v4-win{justify-self:stretch}
}
.v5s:not(.svc-rich) .p-violet .p-qc{background:rgb(255 255 255 / .1);border-top-color:rgb(255 255 255 / .7)}
.v5s:not(.svc-rich) .p-violet .p-qc .p-sno{color:var(--peri)}
.v5s:not(.svc-rich) .p-violet .p-qc h3{color:#fff}
.v5s:not(.svc-rich) .p-violet .p-qc p{color:rgb(227 224 247)}
.v5s-scr>*{min-width:0}.v5s-scr .v4-win{margin:0;min-width:0;overflow-wrap:anywhere}
.v5s :where(.v4-model,.v4-win){margin:0}
.v5s :where(.v4-model,.v4-win) :where(p,ol,ul,figure){margin:0}
.v5s :where(.v4-model,.v4-win) :where(ol,ul){padding:0;list-style:none}
@media (max-width:767px){.v5s-cap .p-stk-r{grid-template-columns:1fr}}
.v5p-dotcv{aspect-ratio:16/9;display:block}
.t-head[data-tone=dark]{background:rgb(62 49 132 / .94)}
.p-foot .t-brand{font-size:26px;letter-spacing:.14em}
.p-foot-lead{margin-top:24px;font-size:22px;line-height:1.6;font-weight:500;letter-spacing:.04em;color:rgb(255 255 255)}
@media (max-width:767px){.p-foot .t-brand{font-size:24px}.p-foot-lead{margin-top:16px;font-size:20px}}
.v5c{position:relative}
.v5c-track{
--cw:clamp(296px,37vw,568px);--pad:24px;
display:flex;gap:8px;
margin-left:calc(var(--pad) * -1);
margin-right:calc((100% - 100vw) / 2);
padding:0 var(--gut) 0 0;
overflow-x:auto;overscroll-behavior-x:contain;
scroll-snap-type:x mandatory;
scrollbar-width:none;-ms-overflow-style:none;
outline-offset:4px;
}
.v5c-track::-webkit-scrollbar{display:none}
.v5c-track:focus-visible{outline:2px solid var(--violet)}
.v5c-track.is-anim,.v5c-track.is-drag{scroll-snap-type:none}
.v5c-track.is-drag{cursor:grabbing;user-select:none}
.v5c-track.is-drag .p-card{pointer-events:none}
.v5c .v5c-card{flex:0 0 var(--cw);min-width:0;scroll-snap-align:start;
padding:var(--pad);border-top:0!important;color:var(--ink-2);background-color:transparent;outline-offset:-2px;
transition:background-color .5s cubic-bezier(.16,1,.3,1)}
.v5c .v5c-card.is-sel{background-color:var(--ice)}
.v5c .v5c-card:focus-visible{outline:2px solid var(--violet)}
.v5c .v5c-card .p-card-photo{margin:0 0 24px}
.v5c .v5c-card .p-card-top{grid-template-columns:auto minmax(0,1fr);gap:16px}
.v5c .v5c-card h3{color:var(--deep)}
.v5c a.v5c-card:hover h3{color:var(--violet)}
.v5c .v5c-card .p-card-more{margin-top:16px;padding-bottom:0;border-bottom:0;font-size:13px;color:var(--violet)}
.v5c .v5c-card .p-card-more b{font-size:14px}
.v5c .v5c-card img{-webkit-user-drag:none;user-select:none}
.v5c-ctl{display:none;align-items:center;justify-content:space-between;gap:24px;margin-top:32px}
.v5c.is-js .v5c-ctl{display:flex}
.v5c-pos{margin:0;display:flex;align-items:baseline;gap:8px;font:600 14px/1 var(--en);letter-spacing:.08em;color:var(--ink-2);font-variant-numeric:tabular-nums}
.v5c-pos .v5c-now{font-size:24px;font-weight:600;color:var(--violet)}
.v5c-pos .v5c-sep{color:var(--peri)}
.v5c-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.v5c-btns{display:flex;gap:12px}
.v5c-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;border:0;border-radius:50%;
background:var(--ice);color:var(--violet);cursor:pointer;transition:background-color .3s var(--ease),color .3s var(--ease)}
.v5c-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.75;stroke-linecap:round;stroke-linejoin:round}
.v5c-btn:hover:not(:disabled){background:var(--violet);color:#fff}
.v5c-btn:focus-visible{outline:2px solid var(--violet);outline-offset:3px}
.v5c-btn:disabled{cursor:default;background:#F3F2F8;color:#CFCAF0}
.v5c-play{margin-right:12px}
.v5c-play .v5c-i-play{display:none}
.v5c.is-stop .v5c-play .v5c-i-play{display:block}
.v5c.is-stop .v5c-play .v5c-i-pause{display:none}
.v5c.is-reduce .v5c-play{display:none}
@media (max-width:767px){
.v5c-track{--cw:calc(100vw - var(--gut) - 56px);--pad:var(--gut)}
.v5c-ctl{margin-top:24px}
}
@media (prefers-reduced-motion:reduce){
.v5c .v5c-card,.v5c-btn{transition:none}
}
.p-sh .en,.p-head h1 .en{color:var(--violet)}
[data-tone=dark] .p-sh .en,.p-violet .p-sh .en,.p-night .p-sh .en,.p-ink .p-sh .en{color:#fff}
.v5c.is-js .v5c-track{display:block;overflow:hidden;scroll-snap-type:none;touch-action:pan-y;cursor:grab}
.v5c.is-js .v5c-track.is-drag{cursor:grabbing}
.v5c-belt{display:flex;gap:8px;width:max-content;will-change:transform}
.v5c.is-js .v5c-card{scroll-snap-align:none}
.p-sh .jp,.p-white .p-sh .jp,.p-paper .p-sh .jp{margin-top:6px;font:700 19px/1.4 var(--jp);letter-spacing:.04em;color:var(--violet)}
.p-head h1 .jp{margin-top:8px;font:700 20px/1.4 var(--jp);letter-spacing:.04em;color:var(--violet)}
[data-tone=dark] .p-sh .jp,.p-violet .p-sh .jp,.p-night .p-sh .jp,.p-ink .p-sh .jp,.v5p-phil .p-sh .jp,
.svc-rich .p-violet .p-sh .jp,.svc-rich .p-night .p-sh .jp{color:#fff}
.p-head[data-tone=dark] h1 .en,.p-head[data-tone=dark] h1 .jp,.svc-rich .p-head.p-shero h1 .jp{color:#fff}
@media (max-width:767px){
.p-sh .jp,.p-white .p-sh .jp,.p-paper .p-sh .jp{margin-top:4px;font-size:16px}
.p-head h1 .jp{margin-top:6px;font-size:17px}
}
.p-sh .jp::before{content:"—";display:inline-block;margin-right:.5em;font-weight:400}
.p-sh .jp,.p-white .p-sh .jp,.p-paper .p-sh .jp,.p-head h1 .jp{color:#262626}
.p-sh .jp::before{color:var(--violet)}
[data-tone=dark] .p-sh .jp,.p-violet .p-sh .jp,.p-night .p-sh .jp,.p-ink .p-sh .jp,.v5p-phil .p-sh .jp,
.svc-rich .p-violet .p-sh .jp,.svc-rich .p-night .p-sh .jp,
.p-head[data-tone=dark] h1 .jp,.svc-rich .p-head.p-shero h1 .jp{color:#fff}
[data-tone=dark] .p-sh .jp::before,.p-violet .p-sh .jp::before,.p-night .p-sh .jp::before,.v5p-phil .p-sh .jp::before{color:inherit}
.t-brand-logo{display:inline-flex;align-items:center;line-height:0}
.t-brand-logo img{display:block;width:auto;height:38px}
.t-head .t-logo-d{display:none}
.t-head[data-tone=dark] .t-logo-l{display:none}
.t-head[data-tone=dark] .t-logo-d{display:block}
@media(max-width:1120px){html.p-menu-open .t-head .t-logo-l{display:block}html.p-menu-open .t-head .t-logo-d{display:none}}
@media(max-width:767px){.t-brand-logo img{height:32px}}
.p-foot .t-brand-logo img{height:48px}
@media(max-width:767px){.p-foot .t-brand-logo img{height:40px}}
.t-wi-sym{display:block;width:clamp(56px,5.6vw,92px);height:auto;margin:0 auto 24px}
.t-wi-name{font:inherit;letter-spacing:0;margin:0 .1em 0 .14em}
.t-wi .t-wi-en{white-space:nowrap}
.t-wi .t-wi-wm{display:inline-block;height:.8467em;width:auto;max-width:none;vertical-align:-.0383em}
@media(max-width:420px){.t-wi .t-wi-en{font-size:32px}}
@media(max-width:380px){.t-wi .t-wi-en{font-size:30px}}
.p-split .v5s-sheet p.v5s-sheet-br{line-height:0}
.v5s-sheet-br img{display:block;height:9px;width:auto}
.p-cta.p-ink{background:#221A5A}
.t-wi-sym{filter:drop-shadow(0 0 10px rgb(237 233 254 / .55)) drop-shadow(0 0 28px rgb(196 181 253 / .55)) drop-shadow(0 0 64px rgb(139 92 246 / .7))}
.t-wi{padding:96px 120px}
.t-wi{padding:96px 0}
.t-fillplane{--r:48px;
background:
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n' x='0' y='0'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='.32 0 0 0 .34 .32 0 0 0 .34 .32 0 0 0 .34 0 0 0 0 1'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E") 0 0/160px 160px,
url(assets/whatis_stone.webp) 50% 50%/cover no-repeat,
radial-gradient(ellipse calc(var(--r)*1.5 + 40vmin) calc(var(--r)*1.5 + 46vmin) at var(--bx,50%) var(--by,46%),
#7B5BE6 0, #5E3FC4 8%, #45308F 19%, #30285A 34%, #25222F 55%, #1D1C22 78%, #151418 100%);
background-blend-mode:overlay,overlay,normal;
transition:none}
body.is-filled .t-fillplane{transition:none}
/* 逆光の芯はシンボルの形に沿わせる（壁の丸い光の円盤にしない）：縁のすぐ外が白に近い薄紫、その外が紫。壁の面の光は上の放射で弱く受ける */
/* 2026-10-16 夕3 🎨Iris 軽量化：光は drop-shadow 4段の計算をやめ、同じ4段を書き出した画像（.t-wi-glow。top.js が入れる）にした。
画像は「満ち引きの弱い側（from）」を下に、「強い側（to）」を ::after に重ね、上の1枚の不透明度だけで満ち引きさせる（合成だけ・描き直しなし）。
書き出し：scratchpad の g.js（シンボル幅69px＝1440幅／48px＝1000幅未満で、下の keyframes と同じ4段を当てて透過PNG→WebP）。
画像の外周は シンボルの外形から112px（光の外側1%の濃さまで入る）。JSが動かないときだけ旧の drop-shadow を出す */
html:not(.t-js) .t-wi-sym{filter:drop-shadow(0 0 3px rgb(245 243 255 / .9)) drop-shadow(0 0 12px rgb(221 214 254 / .75)) drop-shadow(0 0 30px rgb(167 139 250 / .7)) drop-shadow(0 0 64px rgb(117 66 237 / .6))}
.t-wi{--sw:clamp(48px,4.8vw,79px)}
.t-wi-sym{position:relative;filter:none}   /* 光の画像より上に描く */
.t-wi-glow,.t-wi-glow::after{position:absolute;display:block;pointer-events:none;background:url(assets/whatis_glow_69_from.webp) 0 0/100% 100% no-repeat}
.t-wi-glow{left:50%;top:calc(96px - var(--sw) * 1.6232);width:calc(var(--sw) * 4.2464);height:calc(var(--sw) * 4.5942);margin-left:calc(var(--sw) * -2.1232)}
.t-wi-glow::after{content:"";inset:0;background-image:url(assets/whatis_glow_69_to.webp);opacity:.5}
@media(max-width:999px){
.t-wi-glow{top:-16px;width:272px;height:288.5px;margin-left:-136px;background-image:url(assets/whatis_glow_48_from.webp)}
.t-wi-glow::after{background-image:url(assets/whatis_glow_48_to.webp)}}
/* 2026-10-16 夕 🎨Iris 構成版の社名に替えてから、390幅で「What is INTEPRAL?」の横幅が382px（左右4px）になっていた（上の32px指定は旧ロゴでの見積もり）。
実測で横幅＝字の大きさ×11.94。左右16pxずつ残るよう、画面幅から逆算する（440幅で33.7px・390幅で29.6px・360幅で27.1px・320幅で23.8px） */
/* 2026-10-16 夕4 Jost 500 の社名に替えた。実測：横幅＝字の大きさ×12.0。左右20pxずつ残す式に直した（320幅で23.3px・390幅で29.1px・440幅で33.3px） */
@media(max-width:440px){.t-wi .t-wi-en{font-size:calc(8.333vw - 3.4px)}}
/* 2026-10-16 夕2 🎨Iris 髙橋さん「この光がだんだんと動く形にはできない？」：場面が出きった後、壁の光源がゆっくり動き続ける。
壁の上に「動く光」を1枚足す（.t-lamp。top.js が .t-fillplane の中に作る）。混ぜ方は overlay＝暗い石では「石の明るさ×光」になるので、
光が来た所ほど石目が浮き、去ると黒に沈む（光源が動いて見える）。下の静止の放射（シンボルの芯の逆光）はそのまま。
動き：①横に±64px・17秒 ②縦に±36px・13秒（周期をずらして同じ軌道を繰り返さない） ③満ち引き7秒（明るさと広がりを少しだけ）。
重さ：動かすのは transform と opacity だけ（画面の描き直しが起きず、合成だけで動く）。壁の背景・石目は一切動かさない。
止める：場面が見えていない間は top.js が .is-lamp を外して一時停止。動きを減らす設定では出さない */
.t-lamp,.t-lamp i{position:absolute;display:block}
.t-lamp{left:var(--bx,50%);top:var(--by,46%);width:0;height:0;mix-blend-mode:overlay;pointer-events:none;
animation:t-lamp-x 17s ease-in-out infinite alternate paused}
.t-lamp i{left:0;top:0;width:0;height:0;animation:t-lamp-y 13s ease-in-out -4s infinite alternate paused}
.t-lamp i i{left:calc(var(--r)*-1.2 - 20vmin);top:calc(var(--r)*-1.2 - 20vmin);width:calc(var(--r)*2.4 + 40vmin);height:calc(var(--r)*2.4 + 40vmin);
border-radius:50%;background:radial-gradient(closest-side,rgb(226 214 255 / .75) 0%,rgb(196 172 255 / .48) 34%,rgb(170 140 255 / .16) 68%,rgb(170 140 255 / 0) 100%);
opacity:.7;animation:t-lamp-b 7s ease-in-out infinite alternate paused;will-change:transform,opacity}
.t-fillplane.is-lamp .t-lamp,.t-fillplane.is-lamp .t-lamp i{animation-play-state:running}
@keyframes t-lamp-x{from{transform:translateX(-64px)}to{transform:translateX(64px)}}
@keyframes t-lamp-y{from{transform:translateY(-36px)}to{transform:translateY(36px)}}
@keyframes t-lamp-b{from{opacity:.45;transform:scale(.93)}to{opacity:1;transform:scale(1.07)}}
/* シンボル自身の光も同じ7秒で少しだけ満ち引き。2026-10-16 夕3 軽量化：drop-shadow の keyframes をやめ、光の画像の上の1枚（to）の不透明度だけを動かす
（旧 keyframes：from＝3px .9／12px .7／28px .58／58px .48、to＝3px .9／12px .8／32px .8／70px .72。この2状態をそのまま画像にした） */
body.is-lamp .t-wi-glow::after{animation:t-wi-glow 7s ease-in-out infinite alternate}
@keyframes t-wi-glow{from{opacity:0}to{opacity:1}}
@media (prefers-reduced-motion:reduce){.t-lamp{display:none}body.is-lamp .t-wi-glow::after{animation:none}}
/* 2026-10-16 夕2 🎨Iris 髙橋さん「この途中のこれから少しダサい」：白い場面に紫ベタの楕円がのっぺり乗っていた。
→ リングを次の場面へののぞき窓にする（top.js が石壁の面を楕円で切り抜き、リングの線と同じ大きさで広げる）。紫のベタ（.t-ring-fill）は出さない。
線は拡大しても太らない細い線（SVGを丸ごと拡大しているので top.js が拡大率の逆数 --k を渡して太さを戻す。旧は拡大に合わせて100px超の紫の帯になっていた）＋外と内への薄い光のにじみ（太い線を淡く重ねるだけ。ぼかしの計算はしない）。
窓の外は暗幕（.t-dim）を最大30%かけて沈め、窓の奥に奥行きを出す */
html.t-motion .t-ring-fill{display:none}
html.t-motion .t-motif{z-index:3}
html.t-motion .t-ring-line{stroke:#B9A6FB;stroke-width:calc(1.5 * var(--k,1))}
.t-ring-halo{opacity:0}
.t-ring-halo ellipse{fill:none}
.t-ring-halo .h1{stroke:rgb(196 181 253 / .32);stroke-width:calc(7 * var(--k,1))} /*光*/
.t-ring-halo .h2{stroke:rgb(139 92 246 / .14);stroke-width:calc(26 * var(--k,1))}
.t-dim{position:absolute;inset:0;z-index:2;background:#14121C;opacity:0;pointer-events:none}
/* 2026-10-16 夕3 🎨Iris 軽量化：のぞき窓は「楕円の箱を transform で広げる」（top.js。旧は石壁の面に clip-path の楕円を毎フレーム書き直していた）。
箱は画面を覆う大きさで作り、縮めて置く。広がっている間だけ合成用の層にする（.is-open の間だけ will-change） */
.t-portal{position:absolute;left:0;top:0;z-index:2;border-radius:50%;overflow:hidden;transform-origin:50% 50%;visibility:hidden;pointer-events:none}
.t-portal.is-open,.t-portal.is-open .t-fillplane{will-change:transform}
.t-portal .t-fillplane{right:auto;bottom:auto}
/* 2026-10-17 🎨Iris 重さ対策：スクロールで毎コマ transform／opacity を書き換える要素は、合成用の層に常駐させる（付け外しをしない）。
層になっていないと、動くたびに乗っている面（舞台・ページ全体）が描き直される。
見出しと左右の注記は top.js が .t-liftclip（切り口が動かない箱）に入れる。リングの SVG は拡大しても線をくっきり描き直す必要があるので層にしない */
.t-liftclip{position:absolute;inset:0;z-index:3;pointer-events:none}
.t-liftclip>*{pointer-events:auto}
html.t-motion .t-frame-video,html.t-motion .hero-side,html.t-motion .t-streaks i{will-change:transform}
html.t-motion .t-dim{will-change:opacity}
/* 2026-10-16 髙橋さん「ハンバーガーメニュー開いたら崩れるね」：スマホのメニューで、事業内容の下の2項目が左へ164pxずれて画面外に出ていた。
原因＝PCのドロップダウン用 .p-ni:hover/:focus-within .p-drop{transform:translateX(-50%)}（詳細度0,3,0）が、タップで hover/focus 扱いになって
メニュー用の html.p-menu-open .p-drop{transform:none}（0,2,1）に勝っていた。メニューを開いている間はどの状態でも transform を外す */
html.p-menu-open .p-ni .p-drop,html.p-menu-open .p-ni:hover .p-drop,html.p-menu-open .p-ni:focus-within .p-drop{transform:none;left:auto}
/* ═══════════ 2026-10-19 トップ「事業」：4事業を一度に見せる一覧（v5g） 🎨Iris ═══════════
髙橋さんの判断（Quinn検品①-4）：横に流れるカルーセルをやめ、4事業を一度に見せる。PCは4つを横に、スマホは縦に4つ。4枚目が隠れない・切れない
・PC（1024px〜）は4列。カードの内側の余白（20px）だけ一覧を左右へ出し、写真の左端を見出しの左端にそろえる
・768〜1023px は2×2。スマホは写真を左に小さく置いた行を縦に4つ（1画面に4事業が入る高さ）
・選択中の色（カルーセルの is-sel）の代わりに、指を置いた／フォーカスしたカードに淡い地（--ground-sel #E3E0F7：光の紫の文字 4.71:1）
・部品名は v5g- で始める（v5c とは別の部品。cards-b.html の比較記録は v5c のまま） */
.v5g{list-style:none;margin:clamp(32px,4vw,48px) -20px 0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.v5g-i{margin:0;padding:0;min-width:0}
.v5g .v5g-card{height:100%;padding:20px;border-top:0!important;color:var(--ink-2);background-color:transparent;
transition:background-color .4s cubic-bezier(.16,1,.3,1);outline-offset:-2px}
.v5g .v5g-card:hover,.v5g .v5g-card:focus-visible{background-color:var(--ground-sel)}
.v5g .v5g-card:focus-visible{outline:2px solid var(--violet)}
.v5g .v5g-ph{margin:0 0 20px;aspect-ratio:3/2}
.v5g .v5g-tx{display:flex;flex-direction:column;flex:1 1 auto}
.v5g .v5p-card-k{font-size:13px}
.v5g .p-card-top{grid-template-columns:auto minmax(0,1fr);gap:12px}
.v5g .p-card-no{font-size:clamp(20px,1.7vw,26px)}
.v5g .v5g-card h3{font-size:clamp(19px,1.6vw,24px);color:var(--deep)}
.v5g a.v5g-card:hover h3{color:var(--violet)}
.v5g .v5g-line{margin:12px 0 0;font-size:15px;line-height:1.8}
.v5g .p-card-more{margin-top:auto;padding:16px 0 0;border-bottom:0;font-size:14px;color:var(--violet)}
.v5g .p-card-more b{font-size:14px}
.v5g-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
/* 768px〜：分類の小ラベルが1行と2行で混ざっても、事業名・一言・リンクの高さが横でそろうよう subgrid で行をそろえる（写真／小ラベル／番号と事業名／一言／リンク の5行） */
@media (min-width:768px){
.v5g{row-gap:0}
.v5g-i{display:grid;grid-row:span 5;grid-template-rows:subgrid}
.v5g .v5g-card{display:grid;grid-row:span 5;grid-template-rows:subgrid;row-gap:0}
.v5g .v5g-tx{display:contents}
.v5g .p-card-more{align-self:start;margin-top:0}
}
@media (max-width:1023px){
.v5g{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:767px){
.v5g{grid-template-columns:1fr;gap:0;margin:24px 0 0;border-top:1px solid var(--line)}
.v5g .v5g-card{display:grid;grid-template-columns:112px minmax(0,1fr);gap:16px;align-items:start;padding:16px 0;border-bottom:1px solid var(--line)}
.v5g .v5g-ph{margin:0;aspect-ratio:1/1}
.v5g .v5p-card-k{margin-bottom:4px;font-size:12px}
.v5g .p-card-no{font-size:18px}
.v5g .v5g-card h3{font-size:18px}
.v5g .v5g-line{margin-top:4px;font-size:14px;line-height:1.7}
.v5g .p-card-more{display:none}
}
@media (prefers-reduced-motion:reduce){.v5g .v5g-card{transition:none}}
/* 2026-10-19 Quinn検品①-1：事業一覧（/services/）の4事業を1列の4行で並べる（.p-next の2列を1列に） */
.p-next.is-rows{grid-template-columns:1fr}
.p-next.is-rows a,.p-next.is-rows a+a,.p-next.is-rows a:first-child{padding:24px 0;border-left:0}
.p-next.is-rows .v5s-nx-l{font-size:14px}
