:root{--bg:#F2F3F5;--fv:#F7F7F8;--ink:#000;--g:#6F7179;--g2:#55575E;--pre:#B9BBC1;--line:#DADCE1;--blue:#00B4FF;--blue-t:rgba(0,180,255,.16);--dark:#050506;--foot:#0D0E10;--pad:5vw;--clear:640px;--ja:"Noto Sans JP",sans-serif;--en:"Jost","Noto Sans JP",sans-serif;--glass:inset 1px 1.5px 1px -1px rgba(255,255,255,.85),inset -1px -2.5px 1px -2px rgba(255,255,255,.75);--ease:cubic-bezier(.65,0,.35,1);--out:cubic-bezier(.22,1,.36,1);--sec:clamp(64px,8.75vw,140px);--g-h-lead:clamp(20px,2.5vw,40px);--g-lead-body:clamp(36px,4.6vw,76px);--g-h-body:clamp(28px,4.4vw,72px);--g-body-btn:clamp(28px,2.8vw,44px);--p:0}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{background:var(--bg);color:var(--ink);font-family:var(--ja);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:clip}
img,video{display:block;max-width:100%}
a{color:inherit;text-decoration:none}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
ul,ol{list-style:none}
::selection{background:var(--blue);color:#000}
p,h1,h2,h3,dd{word-break:auto-phrase;text-wrap:pretty}
.en,.n{font-family:var(--en)}
.ib{display:inline-block}
.sp{display:none}
.wrap{max-width:1680px;margin:0 auto;padding-inline:var(--pad)}
@media (min-width:768px){
:root{--pad:clamp(40px,5.5vw,96px)}
}
.u-glass{position:relative;isolation:isolate}
.u-glass::before{content:"";position:absolute;inset:0;border-radius:inherit;box-shadow:var(--glass);pointer-events:none}
a:focus-visible,button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
@property --cx{syntax:"<length>";inherits:true;initial-value:0px}
@property --cw{syntax:"<length>";inherits:true;initial-value:0px}
.hdr{position:fixed;left:0;right:0;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;height:52px;margin-top:24px;padding:0 24px;pointer-events:none}
.hdr>*{pointer-events:auto}
.logo{display:flex;align-items:center;height:52px;padding:0 18px 0 22px;border-radius:100vh;background:rgba(242,243,245,0);font-family:var(--en);font-weight:500;font-size:28px;letter-spacing:.14em;line-height:1;transition:color .3s ease,opacity .3s ease,background-color .3s ease}
body.scrolled .logo{background:rgba(243,244,246,.94);box-shadow:inset 0 0 0 1px var(--line)}
body.in-ftr .logo{opacity:0;pointer-events:none}
.nav{--cx:0px;--cw:0px;position:absolute;left:50%;top:0;transform:translateX(-50%);display:flex;align-items:center;height:52px;padding:0 6px;border-radius:100vh;background:rgba(255,255,255,.42);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--glass);transition:background-color .3s ease,color .3s ease,box-shadow .3s ease,--cx .6s var(--out),--cw .6s var(--out)}
.nav.is-snap{transition:background-color .3s ease,color .3s ease,box-shadow .3s ease}
body.scrolled .nav{background:rgba(243,244,246,.94);-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:inset 0 0 0 1px var(--line)}
.nav a{position:relative;z-index:1;display:flex;align-items:center;height:44px;padding:0 18px;border-radius:100vh;font-size:14.5px;white-space:nowrap;transition:color .35s ease,background-color .3s ease}
.nav a:hover{background:rgba(0,0,0,.06)}
.nav-ind{position:absolute;z-index:0;top:6px;left:0;width:var(--cw);height:40px;border-radius:100vh;background:#000;transform:translateX(var(--cx));pointer-events:none}
.nav-hi{position:absolute;inset:0;z-index:2;display:flex;align-items:center;padding:0 6px;color:#fff;clip-path:inset(6px calc(100% - var(--cx) - var(--cw)) 6px var(--cx) round 20px);pointer-events:none}
.nav-hi span{display:flex;align-items:center;height:44px;padding:0 18px;font-size:14.5px;white-space:nowrap}
.nav:not(.has-on) .nav-ind,.nav:not(.has-on) .nav-hi{opacity:0;transition:opacity .2s ease .28s}
.hdr-r{display:flex;gap:8px;align-items:center}
.pill{display:inline-flex;align-items:center;gap:10px;height:52px;white-space:nowrap;padding:0 20px 0 26px;border-radius:100vh;background:var(--blue);color:#000;font-size:14.5px;font-weight:700;letter-spacing:.04em;transition:background-color .35s ease,color .35s ease}
.pill svg{width:14px;height:10px;transition:transform .35s var(--out)}
.pill:hover{background:#000;color:#fff}
.pill:hover svg{transform:translateX(3px)}
.menu{display:none;position:relative;flex:none;width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.14)}
.menu i{position:absolute;left:14px;right:14px;height:1.5px;background:#fff;transition:transform .3s ease}
.menu i:first-child{top:18.5px}
.menu i:last-child{top:24px}
body.nav-open .menu i:first-child{transform:translateY(2.75px) rotate(45deg)}
body.nav-open .menu i:last-child{transform:translateY(-2.75px) rotate(-45deg)}
.hdr-prog{position:fixed;left:0;top:0;right:0;height:2px;z-index:51;background:var(--blue);transform:scaleX(var(--p));transform-origin:0 50%;pointer-events:none}
main{position:relative;z-index:1;margin-top:100vh;margin-top:100svh;background:linear-gradient(180deg,transparent 0,transparent calc(var(--clear) - 240px),var(--bg) var(--clear))}
.u-orb{border-radius:50%;background:radial-gradient(circle at 68% 70%,#008FD1 0%,#00A3EC 24%,#00B4FF 44%,#44C8FF 62%,#A9E5FF 80%,#E9F8FF 96%);-webkit-mask-image:radial-gradient(closest-side,#000 93%,transparent 100%);mask-image:radial-gradient(closest-side,#000 93%,transparent 100%)}
.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:36px;height:56px;padding:0 10px 0 28px;border-radius:100vh;background:#000;color:#fff;font-size:15px;font-weight:500;letter-spacing:.06em;line-height:1.2;white-space:nowrap;transition:background-color .35s ease,color .35s ease}
.btn .c{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:50%;background:var(--blue);color:#000;font-family:var(--en);font-size:15px;letter-spacing:0;line-height:1;transition:background-color .35s ease,color .35s ease,transform .35s var(--out)}
.btn .c svg{width:14px;height:10px;transition:transform .35s var(--out)}
.btn:hover{background:var(--blue);color:#000}
.btn:hover .c{background:#000;color:#fff}
.btn:hover .c svg{transform:translateX(2px)}
.tlink{display:inline-flex;align-items:center;gap:10px;min-height:44px;font-size:15px;font-weight:700;letter-spacing:.04em}
.tlink .c{display:inline-block;font-family:var(--en);color:inherit;transition:transform .35s var(--out)}
.tlink:hover .c{transform:translateX(4px)}
.label{display:inline-flex;align-items:center;gap:10px;font-size:14px;font-weight:700;letter-spacing:.06em;line-height:1.4}
.label::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--blue)}
.h2{font-size:clamp(26px,3.889vw,56px);font-weight:700;line-height:1.18;letter-spacing:-.01em;font-feature-settings:"palt"}
.stmt{font-size:clamp(26px,3.5vw,60px);font-weight:700;line-height:1.35;font-feature-settings:"palt"}
.lead{margin-top:var(--g-h-lead);font-size:clamp(15px,1.1806vw,17px);font-weight:500;line-height:1.8;color:var(--g)}
.tx{font-size:16px;font-weight:500;line-height:1.85;color:var(--g)}
.tx b{font-weight:500;color:#000}
.hl{background:linear-gradient(transparent 62%,var(--blue-t) 62%);color:#000}
.ftr{position:relative;z-index:1;overflow:hidden;background:var(--foot);color:#fff;padding:96px 0 0}
.ftr-top{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.6fr);gap:64px;align-items:start}
.ftr-logo{display:inline-flex;align-items:center;min-height:44px;margin-block:-7px;font-family:var(--en);font-weight:500;font-size:28px;letter-spacing:.14em;line-height:1}
.ftr-nav{margin-top:31px;display:grid;grid-template-rows:repeat(3,auto);grid-auto-flow:column;grid-auto-columns:max-content;column-gap:64px}
.ftr-nav a{display:flex;align-items:center;min-height:44px;font-size:16px;font-weight:700;line-height:1.6;transition:color .3s ease}
.ftr-nav a:hover,.ftr-info a:hover{color:var(--blue)}
.ftr-info a{display:inline-block;padding-block:10px;margin-block:-10px;transition:color .3s ease}
.ftr-info{display:grid;gap:24px}
.ftr-info>div{display:grid;gap:4px}
.ftr-info dt{font-size:14px;line-height:1.6;color:#8E9098}
.ftr-info dd{font-size:16px;font-weight:700;line-height:1.6}
.ftr-bt{margin-top:64px;padding:24px 0;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:14px;color:#8E9098}
.ftr-bt .en{font-size:14px}
@media (max-width:991px){
.hdr{margin-top:14px;padding:0 var(--pad) 0 calc(var(--pad) - 11px);height:44px}
.hdr::before{content:"";position:absolute;left:0;right:0;top:-14px;height:76px;z-index:-1;opacity:0;background:rgba(247,247,248,.96);-webkit-mask-image:linear-gradient(180deg,#000 80%,transparent);mask-image:linear-gradient(180deg,#000 80%,transparent);transition:opacity .3s ease,background-color .3s ease,transform .45s var(--out)}
body.scrolled .hdr::before{opacity:1}
body.in-ftr .hdr::before{opacity:0}
.logo{font-size:22px;height:44px;padding:0 9px 0 11px;transition:color .3s ease,opacity .3s ease,transform .45s var(--out)}
body.scrolled .logo{color:inherit;background:none;-webkit-backdrop-filter:none;backdrop-filter:none;box-shadow:none}
body.hdr-up .logo{transform:translateY(-72px)}
body.hdr-up .hdr::before{transform:translateY(-100%)}
body.hdr-up .logo:focus-visible{transform:none}
.hdr-r{position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translateX(-50%);gap:6px;padding:6px;border-radius:100vh;background:rgba(8,8,10,.8);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);box-shadow:0 0 0 1px rgba(255,255,255,.08)}
.hdr-r{transition:transform .5s var(--out),opacity .35s ease}

.pill{height:44px;padding:0 18px 0 22px;font-size:14px}
.menu{display:block}
.nav{position:fixed;top:auto;left:var(--pad);right:var(--pad);bottom:calc(78px + env(safe-area-inset-bottom));transform:translateY(12px);flex-direction:column;align-items:stretch;height:auto;padding:10px;border-radius:28px;background:rgba(255,255,255,.94);color:#000;opacity:0;visibility:hidden;transition:opacity .3s ease,transform .4s var(--out),visibility 0s .4s}
.nav-ind,.nav-hi{display:none}
.nav a{height:52px;padding:0 18px;font-size:16px;font-weight:700;border-radius:14px}
.nav a.on{background:var(--bg)}
body.nav-open .nav{opacity:1;visibility:visible;transform:none;transition:opacity .3s ease,transform .4s var(--out)}
body.scrolled .nav{background:rgba(255,255,255,.94);color:#000;box-shadow:var(--glass)}
.ftr-top{grid-template-columns:1fr;gap:48px}
}
@media (max-width:767px){
.sp{display:inline}
.pc{display:none}
.btn{height:50px;gap:20px;padding:0 8px 0 22px;font-size:14px}
.btn .c{width:34px;height:34px;font-size:14px}
.ftr{padding:56px 0 calc(72px + env(safe-area-inset-bottom))}
.ftr-top{gap:36px}
.ftr-logo{font-size:22px;margin-block:-11px}
.ftr-nav{margin-top:20px;column-gap:32px}
.ftr-info{gap:16px;padding-top:28px;border-top:1px solid rgba(255,255,255,.12)}
.ftr-info>div{grid-template-columns:64px minmax(0,1fr);column-gap:12px;align-items:baseline}
.ftr-info dd{font-size:15px}
.ftr-bt{margin-top:36px;padding:20px 0}
}
@media (prefers-reduced-motion:reduce){
*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
}
:root{--ix-kw:clamp(132px,10vw,152px);--ix-thw:160px;--ix-gap:24px;--ix-py:clamp(20px,1.95vw,28px);--ix-ox:20px;--ix-t:clamp(18px,1.667vw,24px);--ix-s:15px;--ix-k:14px;--ix-go:18px;--ix-line:var(--line);--ix-top:var(--ink);--ix-hov:#fff;--ix-stick:128px;--ix-gg:clamp(56px,5.56vw,88px)}
@media (max-width:991px){
:root{--ix-thw:128px;--ix-ox:12px}
}
@media (max-width:767px){
:root{--ix-thw:96px;--ix-s:14px}
}
:root{--mv-in:.6s;--mv-hov:.35s;--mv-fade:.3s;--mv-y:10px;--mv-from:1.05;--mv-zoom:1.04;--mv-stg:60ms;--ix-num:clamp(40px,3.9vw,56px);--ix-ic:36px}
.ix-arm .ix-rv:not(.is-in) img,.ix-arm .ix-rv:not(.is-in) video{opacity:0;scale:var(--mv-from)}
.ix-arm .ix-up:not(.is-in){opacity:0;transform:translateY(var(--mv-y))}
.ix-arm .ix-num:not(.is-in)>span{transform:translateY(110%)}
@media (max-width:767px){
:root{--ix-ic:28px;--ix-num:clamp(30px,8.2vw,36px)}
}
:root{--x7-cg:clamp(16px,1.67vw,32px);--x7-grade:none;--x7-mono:none;--x7-t1:clamp(22px,2vw,32px);--x7-t2:clamp(18px,1.53vw,23px);--x7-ox:clamp(12px,1.25vw,20px)}
.x7-sec{--g:#65676E;position:relative;padding-block:var(--sec)}
.x7-sec :is(.bz-tx,.wk-t,.wk-s,.op-rt,.op-hd,.op-ds,.x7-meta){word-break:auto-phrase;line-break:strict;text-wrap:pretty}
.x7-g{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--x7-cg)}
.x7-hd{align-items:end;margin-bottom:var(--g-h-body)}
.x7-hd .h2{grid-column:1/5}
.x7-hd .label{grid-column:1/-1;margin-bottom:clamp(14px,1.4vw,24px)}
.x7-hd .lead{grid-column:5/13;margin-top:0;padding-bottom:.3em}
.x7-hd:has(.lead){margin-bottom:var(--g-lead-body)}
.x7-ph{--r:14px;position:relative;display:block;overflow:hidden;border-radius:var(--r);aspect-ratio:3/2;background:#E3E5E9;isolation:isolate}
.x7-ph.is-m img{filter:var(--x7-mono)}
.x7-ph img,.x7-ph video{width:100%;height:100%;object-fit:cover;object-position:var(--op,50% 50%);filter:var(--x7-grade);transition:filter .7s ease,scale .9s var(--out),translate .2s linear}
.x7-go{flex:none;font-family:var(--en);font-size:18px;font-weight:400;line-height:1;color:var(--ink);transition:transform .35s var(--out)}
.x7-go::before{content:"\2192"/"";display:inline-block}
.x7-go.is-ext::before{transform:rotate(-45deg)}
.x7-num{display:inline-block;overflow:hidden;padding-block:.06em;margin-block:-.06em;vertical-align:bottom}
.x7-num>span{display:inline-block;transition:transform .8s var(--out) calc(var(--i,0) * 90ms)}
.x7-arm .x7-num:not(.is-in)>span{transform:translateY(105%)}
.x7-arm .x7-rv{clip-path:inset(0 0 0 0 round var(--r));transition:clip-path 1.1s var(--out)}
.x7-arm .x7-rv:not(.is-in){clip-path:inset(14% 0 0 0 round var(--r))}
.x7-arm .x7-rv:not(.is-in) img,.x7-arm .x7-rv:not(.is-in) video{scale:1.08}
.x7-arm .x7-rv img,.x7-arm .x7-rv video{transition:filter .7s ease,scale 1.3s var(--out),translate .2s linear}
@media (hover:hover){
a:hover>.x7-go,a:hover .x7-go{transform:translateX(4px)}
a:hover .x7-go.is-ext{transform:translate(3px,-3px)}
}
@media (min-width:992px){
.x7-hd{margin-bottom:max(var(--g-h-body),72px)}
.x7-hd:has(.lead){margin-bottom:max(var(--g-lead-body),72px)}
}
@media (max-width:991px){
.x7-hd .h2{grid-column:1/-1}
.x7-hd .lead{grid-column:1/-1;margin-top:var(--g-h-lead);padding-bottom:0;max-width:40em}
}
.ftr-pp{font-size:13px;letter-spacing:.04em;color:#8E9098;text-decoration:none;transition:color .3s ease}
@media (hover:hover){.ftr-pp:hover{color:#fff}}
.h2{font-size:clamp(26px,3.06vw,44px)}
.stmt{font-size:clamp(24px,2.64vw,40px)}
.nav-scrim{display:none}
@media (min-width:992px){.nav .nav-home{display:none}}
@media (max-width:991px){
.hdr-r{width:206px;justify-content:space-between}
.nav-scrim{display:block;position:fixed;inset:0;z-index:-1;pointer-events:auto;background:rgba(8,8,10,.38);opacity:0;visibility:hidden;touch-action:none;-webkit-tap-highlight-color:transparent;transition:opacity .3s ease,visibility 0s .3s}
body.nav-open .nav-scrim{opacity:1;visibility:visible;transition:opacity .3s ease}
.nav,body.scrolled .nav{left:50%;right:auto;width:min(calc(100vw - 48px),288px);bottom:calc(80px + env(safe-area-inset-bottom));padding:8px;border-radius:24px;background:#fff;color:#000;box-shadow:0 24px 60px rgba(0,0,0,.22);opacity:1;transform:translate(-50%,24px) scale(.94);transform-origin:50% 100%;clip-path:inset(100% 0 0 0 round 24px);transition:clip-path .3s var(--out),transform .3s var(--out),visibility 0s .3s}
body.nav-open .nav{transform:translate(-50%,0);clip-path:inset(0 0 0 0 round 24px);transition:clip-path .5s var(--out),transform .6s cubic-bezier(.3,1.5,.5,1)}
.nav a{justify-content:space-between;height:56px;padding:0 18px;border-radius:16px;color:#000;font-size:16px;font-weight:700;opacity:0;transform:translateY(12px);transition:opacity .2s ease,transform .3s var(--out),background-color .2s ease,color .2s ease}
.nav a::after{content:"";flex:none;width:15px;height:11px;background:currentColor;opacity:.45;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 11' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 5.5h12.5M9 1l4.5 4.5L9 10'/%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 15 11' fill='none' stroke='%23000' stroke-width='1.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 5.5h12.5M9 1l4.5 4.5L9 10'/%3E%3C/svg%3E") center/contain no-repeat}
.nav a+a::before{content:"";position:absolute;left:18px;right:18px;top:0;height:1px;background:var(--line)}
.nav a:hover,.nav a:active{background:var(--bg)}
.nav a.on,:root .is-sub .nav a.is-here,:root .is-sub .nav a[aria-current="page"]{background:var(--bg);color:#000}
.nav a.on+a::before,.nav a.is-here+a::before{display:none}
.nav a.on::before,.nav a.is-here::before{display:block;left:8px;right:auto;top:50%;width:6px;height:6px;border-radius:50%;background:var(--blue);transform:translateY(-50%)}
.nav a.on::after,.nav a.is-here::after{opacity:1;background:var(--blue)}
body.nav-open .nav a{opacity:1;transform:none;transition:opacity .3s ease,transform .45s var(--out),background-color .2s ease,color .2s ease}
body.nav-open .nav a:nth-of-type(1){transition-delay:.05s}
body.nav-open .nav a:nth-of-type(2){transition-delay:.08s}
body.nav-open .nav a:nth-of-type(3){transition-delay:.11s}
body.nav-open .nav a:nth-of-type(4){transition-delay:.14s}
body.nav-open .nav a:nth-of-type(5){transition-delay:.17s}
body.nav-open .nav a:nth-of-type(6){transition-delay:.2s}
body.nav-open .menu{background:rgba(255,255,255,.22)}
.nav a::before{content:"";position:absolute}
}
@media (max-width:991px) and (prefers-reduced-motion:reduce){
.nav,body.nav-open .nav,.nav a,body.nav-open .nav a{transition:none;transform:translate(-50%,0)}
.nav a,body.nav-open .nav a{transform:none}
}
.ftr-pp{white-space:nowrap}
@media (max-width:767px){.ftr-bt{flex-direction:column-reverse;align-items:flex-start;gap:10px}}
.ftr-info .ftr-sns{display:flex;flex-wrap:wrap;gap:4px 24px}
.ftr-sns a{display:inline-flex;align-items:center;gap:8px}
.ftr-ic{flex:none;width:16px;height:16px;fill:#fff}
.ftr-ic.is-yt{width:20px}
.ftr-ic.is-note{width:auto;height:12px;aspect-ratio:390/79}
@media (max-width:767px){.ftr-info .ftr-sns{flex-direction:column;gap:2px}}
