.tech{--tech-accent:#2f00ff;--tech-accent-strong:#1a0099;--tech-accent-glow:#2f00ff47;--tech-ground:#f0f4fa;--tech-surface:#fff;--tech-ink:#242424;--tech-muted:#5b6270;--tech-line:#2424241f;--tech-line-soft:#24242412;--tech-line-strong:#2424244d;--tech-line-on-deep:#ffffff40;--tech-line-on-deep-soft:#ffffff1f;--tech-deep:#0b1a4a;--tech-deep-2:#122a7a;--tech-glass:#ffffff1a;--tech-why-veil:linear-gradient(180deg, #0b1a4a4d, #0b1a4af2 60%);--tech-on-deep:#fff;--tech-on-deep-label:#b9c7ff;--tech-on-deep-sub:#c9d3ff;--tech-on-deep-body:#d9dff5;--tech-on-accent-sub:#d9d4ff;--tech-culumu:#b05400;--tech-neutral:#6b7080;--tech-alert:#d1261b;--tech-alert-text:#8a1f17;--tech-alert-tint:#fbecea;--tech-footer:#242424;--tech-footer-text:#e6e8ee;--tech-footer-sub:#b5b9c4;--tech-footer-label:#8e93a3;--tech-header-bg:#f0f4fad1;--tech-photo-bg:#dce3ec;--tech-chart-grid:#e6e9f0;--tech-chart-1:#c9c2ff;--tech-chart-2:#8e7dff;--tech-chart-3:#5a3dff;--tech-chart-4:#1a0099;--tech-chart-leader:#c5c9d6;--tech-serif:"Shippori Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;--tech-sans:"Noto Sans JP", "Hiragino Sans", "Yu Gothic", system-ui, sans-serif;--tech-num:"Marcellus", "Times New Roman", serif;--tech-en:"Inter", "Noto Sans JP", sans-serif;--tech-fs-hero:clamp(30px, 3.6vw, 50px);--tech-fs-h2:clamp(26px, 3.4vw, 40px);--tech-fs-h3:22px;--tech-fs-h4:19px;--tech-fs-body:16px;--tech-fs-lead:15.5px;--tech-fs-md:14.5px;--tech-fs-sm:13px;--tech-fs-xs:12px;--tech-fs-2xs:11px;--tech-fs-num-xl:clamp(40px, 4.2vw, 60px);--tech-fs-num-lg:clamp(36px, 3.6vw, 52px);--tech-fs-num-md:64px;--tech-fs-num-sm:34px;--tech-leading:1.85;--tech-leading-tight:1.5;--tech-tracking-label:.18em;--tech-wrap:1200px;--tech-gut:24px;--tech-header-h:64px;--tech-section-y:96px;--tech-gap:18px;--tech-gap-sm:12px;--tech-r:14px;--tech-r-md:10px;--tech-r-sm:8px;--tech-r-xs:4px;--tech-r-pill:999px;--tech-shadow-header:0 6px 24px #0b1a4a0f;--tech-shadow-card:0 18px 40px #0b1a4a14;--tech-shadow-me:0 20px 60px #2f00ff73;--tech-duration:.25s;--tech-ease:ease}@media (width<=720px){.tech{--tech-section-y:64px}}html.tech{scroll-padding-top:calc(var(--tech-header-h) + var(--tech-gap))}.tech body{background:var(--tech-ground);color:var(--tech-ink);font-family:var(--tech-sans);font-size:var(--tech-fs-body);line-height:var(--tech-leading);letter-spacing:.01em}.tech body:before{content:"";z-index:0;pointer-events:none;opacity:.09;mix-blend-mode:multiply;background:url(/images/tech/noise.webp) 0 0/256px;position:fixed;inset:0}.tech main,.tech .t-header,.tech .t-footer{z-index:1;position:relative}:where(.tech) :is(h1,h2,h3,h4){color:inherit;font-weight:400}.tech :focus-visible{outline:2px solid var(--tech-accent);outline-offset:3px}.tech .t-on-deep :focus-visible{outline-color:var(--tech-on-deep)}.t-skip{left:var(--tech-gut);z-index:100;background:var(--tech-accent);color:var(--tech-on-deep);border-radius:var(--tech-r-xs);padding:8px 16px;position:absolute;top:-100px}.t-skip:focus{top:8px}.t-wrap{max-width:var(--tech-wrap);padding-inline:var(--tech-gut);margin-inline:auto}.t-section{padding-block:var(--tech-section-y)}.t-sp{display:none}@media (width<=720px){.t-sp{display:inline}.t-pc{display:none}}.t-label{font-family:var(--tech-en);font-size:var(--tech-fs-xs);letter-spacing:var(--tech-tracking-label);text-transform:uppercase;color:var(--tech-accent);margin-bottom:14px;font-weight:600}.t-title{font-family:var(--tech-serif);font-size:var(--tech-fs-h2);letter-spacing:.02em;margin-bottom:18px;line-height:1.45}.t-lead{max-width:760px;font-size:var(--tech-fs-lead);color:var(--tech-muted);margin-bottom:44px}.t-on-deep .t-label{color:var(--tech-on-deep-label)}.t-on-deep .t-title{color:var(--tech-on-deep)}@media (width<=720px){.t-lead{margin-bottom:32px}.t-title br{display:none}}.t-subhead{font-family:var(--tech-serif);font-size:var(--tech-fs-h3);margin-bottom:8px}.t-btn{border:1.5px solid var(--tech-ink);border-radius:var(--tech-r-pill);white-space:nowrap;transition:background var(--tech-duration) var(--tech-ease), color var(--tech-duration) var(--tech-ease), border-color var(--tech-duration) var(--tech-ease);align-items:center;gap:10px;padding:14px 26px;font-size:15px;font-weight:500;line-height:1;display:inline-flex}.t-btn__arr{font-family:var(--tech-en);transition:transform .2s var(--tech-ease)}.t-btn:hover .t-btn__arr{transform:translate(4px)}.t-btn--fill{background:var(--tech-accent);border-color:var(--tech-accent);color:var(--tech-on-deep)}.t-btn--fill:hover{background:var(--tech-accent-strong);border-color:var(--tech-accent-strong)}.t-btn--ghost{color:var(--tech-ink);background:0 0}.t-btn--ghost:hover{background:var(--tech-ink);color:var(--tech-on-deep)}.t-btn--white{background:var(--tech-surface);border-color:var(--tech-surface);color:var(--tech-deep)}.t-btn--white:hover{background:var(--tech-ground)}.t-btn--sm{font-size:var(--tech-fs-xs);padding:9px 16px}.t-btn--lg{font-size:var(--tech-fs-md);padding:17px 30px}.t-btn__arr--circle{background:var(--tech-surface);width:26px;height:26px;color:var(--tech-accent);border-radius:50%;place-items:center;margin:-6px -8px -6px 6px;font-size:14px;display:inline-grid}.t-crumbs ol{font-family:var(--tech-en);font-size:var(--tech-fs-xs);letter-spacing:.04em;color:var(--tech-muted);flex-wrap:wrap;gap:6px;display:flex}.t-crumbs li+li:before{content:"/";color:var(--tech-line-strong);margin-right:6px}.t-crumbs a:hover{color:var(--tech-accent);text-underline-offset:3px;text-decoration:underline}.t-panel{background:var(--tech-surface);border:1px solid var(--tech-line-soft);border-radius:var(--tech-r);padding:40px}@media (width<=720px){.t-panel{padding:24px 18px}}.t-table{border-top:1px solid var(--tech-line)}.t-table>div{border-bottom:1px solid var(--tech-line);font-size:var(--tech-fs-md);grid-template-columns:12rem 1fr;gap:24px;padding:20px 0;display:grid}.t-table dt{color:var(--tech-muted)}.t-table dd{margin:0}.t-table a{color:var(--tech-accent);text-underline-offset:3px;text-decoration:underline}@media (width<=720px){.t-table>div{grid-template-columns:1fr;gap:4px}}.t-prose{font-size:var(--tech-fs-body);color:var(--tech-ink);overflow-wrap:anywhere;line-height:2}.t-prose>*+*{margin-top:1.4em}.t-prose h2{border-bottom:2px solid var(--tech-accent);font-family:var(--tech-serif);margin-top:2.4em;padding-bottom:10px;font-size:clamp(21px,2.4vw,26px);line-height:1.5}.t-prose h3{border-left:3px solid var(--tech-accent);font-family:var(--tech-serif);margin-top:2em;padding-left:12px;font-size:19px;line-height:1.6}.t-prose h4{font-size:var(--tech-fs-body);margin-top:1.8em;font-weight:700}.t-prose a{color:var(--tech-accent);text-underline-offset:3px;text-decoration:underline}.t-prose strong{font-weight:700}.t-prose ul{padding-left:1.4em;list-style:outside}.t-prose ol{padding-left:1.4em;list-style:decimal}.t-prose li+li{margin-top:.4em}.t-prose blockquote{border-left:3px solid var(--tech-line-strong);background:var(--tech-surface);color:var(--tech-muted);margin:0;padding:12px 18px}.t-prose img{border-radius:var(--tech-r-md)}.t-prose figcaption{font-size:var(--tech-fs-xs);color:var(--tech-muted);margin-top:8px}.t-prose table{border-collapse:collapse;width:100%;font-size:var(--tech-fs-sm);background:var(--tech-surface)}.t-prose th,.t-prose td{border:1px solid var(--tech-line);text-align:left;vertical-align:top;padding:10px 12px}.t-prose th{background:var(--tech-ground)}.t-prose hr{border:0;border-top:1px solid var(--tech-line)}.t-prose p:empty{display:none}.t-pager{font-family:var(--tech-en);font-size:var(--tech-fs-sm);flex-wrap:wrap;justify-content:center;gap:8px;margin-top:56px;display:flex}.t-pager a,.t-pager span{border:1px solid var(--tech-line);border-radius:var(--tech-r-pill);background:var(--tech-surface);place-items:center;min-width:44px;min-height:44px;padding:0 14px;display:inline-grid}.t-pager a:hover{border-color:var(--tech-accent);color:var(--tech-accent)}.t-pager span[aria-current]{background:var(--tech-accent);border-color:var(--tech-accent);color:var(--tech-on-deep)}.t-grid{gap:28px var(--tech-gap);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.t-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.t-grid>li{display:grid}@media (width<=1000px){.t-grid,.t-grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=560px){.t-grid,.t-grid--4{grid-template-columns:1fr}}.t-art{padding:40px 0 0}.t-art__inner{max-width:calc(880px + var(--tech-gut) * 2)}.t-art__head{margin:40px 0 28px}.t-art__meta{font-family:var(--tech-en);font-size:var(--tech-fs-xs);color:var(--tech-muted);align-items:baseline;gap:16px;margin-bottom:12px;display:flex}.t-art__meta .t-label{margin:0}.t-art__title{font-family:var(--tech-serif);letter-spacing:.02em;font-size:clamp(24px,2.8vw,34px);line-height:1.5}.t-art__lead{margin:16px 0 0}.t-art__hero{border-radius:var(--tech-r);background:var(--tech-photo-bg);width:100%;height:auto;margin-bottom:32px}.t-art__cover{border-radius:var(--tech-r);background:var(--tech-photo-bg);width:100%;max-width:520px;height:auto;margin-bottom:32px}.t-art__more{padding-bottom:0}.t-toc{background:var(--tech-surface);border:1px solid var(--tech-line-soft);border-left:3px solid var(--tech-accent);border-radius:var(--tech-r-md);margin-bottom:24px;padding:24px 28px}.t-toc__title{font-family:var(--tech-serif);margin-bottom:10px;font-size:18px}.t-toc ol{font-size:var(--tech-fs-sm);gap:6px;line-height:1.7;display:grid}.t-toc__l3{font-size:var(--tech-fs-xs);padding-left:1.2em}.t-toc a:hover{color:var(--tech-accent);text-underline-offset:3px;text-decoration:underline}@media (width<=720px){.t-toc{padding:18px}}.t-rv{opacity:0;transition:opacity .7s,transform .7s;transform:translateY(18px)}.t-rv.is-in{opacity:1;transform:none}@media (prefers-reduced-motion:reduce){html.tech{scroll-behavior:auto}.tech *,.tech :before,.tech :after{transition-duration:.01ms!important;animation-duration:.01ms!important}.t-rv{opacity:1;transform:none}}.t-header[data-astro-cid-5bjfdrhf]{z-index:50;background:var(--tech-header-bg);backdrop-filter:blur(14px);border-bottom:1px solid var(--tech-line-soft);transition:box-shadow .2s;position:sticky;top:0}.t-header[data-astro-cid-5bjfdrhf].is-scrolled{box-shadow:var(--tech-shadow-header)}.t-header__in[data-astro-cid-5bjfdrhf]{height:var(--tech-header-h);align-items:center;gap:24px;display:flex}.t-header__logo[data-astro-cid-5bjfdrhf]{flex-shrink:0;align-items:center;gap:12px;display:flex}.t-header__corp[data-astro-cid-5bjfdrhf]{width:auto;height:19px}.t-header__sep[data-astro-cid-5bjfdrhf]{background:var(--tech-line-strong);width:1px;height:22px;display:block}.t-header__biz[data-astro-cid-5bjfdrhf]{width:auto;height:22px}.t-header__nav[data-astro-cid-5bjfdrhf]{letter-spacing:.02em;gap:18px;margin-left:auto;font-size:12.5px;font-weight:500;display:flex}.t-header__nav[data-astro-cid-5bjfdrhf] a[data-astro-cid-5bjfdrhf]{color:var(--tech-ink);padding:6px 0;position:relative}.t-header__nav[data-astro-cid-5bjfdrhf] a[data-astro-cid-5bjfdrhf]:after{content:"";background:var(--tech-accent);transform-origin:0;height:2px;transition:transform var(--tech-duration);position:absolute;bottom:0;left:0;right:0;transform:scaleX(0)}.t-header__nav[data-astro-cid-5bjfdrhf] a[data-astro-cid-5bjfdrhf]:hover:after,.t-header__nav[data-astro-cid-5bjfdrhf] a[data-astro-cid-5bjfdrhf].is-current:after{transform:scaleX(1)}.t-header__cta[data-astro-cid-5bjfdrhf]{align-items:center;gap:8px;display:flex}.t-header__burger[data-astro-cid-5bjfdrhf]{width:40px;height:40px;display:none;position:relative}.t-header__burger[data-astro-cid-5bjfdrhf] span[data-astro-cid-5bjfdrhf]{background:var(--tech-ink);height:2px;transition:transform var(--tech-duration), top var(--tech-duration);position:absolute;left:10px;right:10px}.t-header__burger[data-astro-cid-5bjfdrhf] span[data-astro-cid-5bjfdrhf]:first-child{top:14px}.t-header__burger[data-astro-cid-5bjfdrhf] span[data-astro-cid-5bjfdrhf]:last-child{top:24px}.t-header__burger[data-astro-cid-5bjfdrhf][aria-expanded=true] span[data-astro-cid-5bjfdrhf]:first-child{top:19px;transform:rotate(45deg)}.t-header__burger[data-astro-cid-5bjfdrhf][aria-expanded=true] span[data-astro-cid-5bjfdrhf]:last-child{top:19px;transform:rotate(-45deg)}@media (width<=1040px){.t-header__nav[data-astro-cid-5bjfdrhf]{left:0;right:0;top:var(--tech-header-h);padding:8px var(--tech-gut) 16px;background:var(--tech-surface);border-bottom:1px solid var(--tech-line);flex-direction:column;gap:0;display:none;position:absolute}.t-header__nav[data-astro-cid-5bjfdrhf].is-open{display:flex}.t-header__nav[data-astro-cid-5bjfdrhf] a[data-astro-cid-5bjfdrhf]{border-bottom:1px solid var(--tech-line-soft);padding:12px 0;font-size:15px}.t-header__burger[data-astro-cid-5bjfdrhf]{display:block}.t-header__cta[data-astro-cid-5bjfdrhf] .t-header__dl{display:none}}@media (width<=520px){.t-header__cta[data-astro-cid-5bjfdrhf] .t-header__contact{display:none}}@supports ((-webkit-backdrop-filter:none)){.t-header[data-astro-cid-5bjfdrhf]{-webkit-backdrop-filter:blur(14px)}}.t-footer[data-astro-cid-fjhltbt4]{background:var(--tech-footer);color:var(--tech-on-deep);padding:56px 0 24px}.t-footer__in[data-astro-cid-fjhltbt4]{grid-template-columns:1.2fr 2fr;gap:40px;margin-bottom:40px;display:grid}.t-footer__lock[data-astro-cid-fjhltbt4]{align-items:center;gap:14px;margin-bottom:16px;display:flex}.t-footer__corp[data-astro-cid-fjhltbt4]{width:auto;height:23px}.t-footer__sep[data-astro-cid-fjhltbt4]{background:var(--tech-line-on-deep);width:1px;height:26px;display:block}.t-footer__biz[data-astro-cid-fjhltbt4]{filter:brightness(0)invert();width:auto;height:28px}.t-footer__brand[data-astro-cid-fjhltbt4] p[data-astro-cid-fjhltbt4]{color:var(--tech-footer-sub);font-size:12.5px;line-height:1.8}.t-footer__cols[data-astro-cid-fjhltbt4]{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.t-footer__cols[data-astro-cid-fjhltbt4] ul[data-astro-cid-fjhltbt4]{gap:8px;display:grid}.t-footer__h[data-astro-cid-fjhltbt4]{font-family:var(--tech-en);font-size:var(--tech-fs-xs);letter-spacing:.14em;color:var(--tech-footer-label);margin-bottom:14px}.t-footer__cols[data-astro-cid-fjhltbt4] a[data-astro-cid-fjhltbt4]{font-size:var(--tech-fs-sm);color:var(--tech-footer-text)}.t-footer__cols[data-astro-cid-fjhltbt4] a[data-astro-cid-fjhltbt4]:hover{color:var(--tech-on-deep-label);text-underline-offset:3px;text-decoration:underline}.t-footer__bottom[data-astro-cid-fjhltbt4]{border-top:1px solid var(--tech-line-on-deep-soft);font-family:var(--tech-en);font-size:var(--tech-fs-2xs);letter-spacing:.16em;color:var(--tech-footer-label);justify-content:space-between;gap:16px;padding-top:18px;display:flex}@media (width<=860px){.t-footer__in[data-astro-cid-fjhltbt4],.t-footer__cols[data-astro-cid-fjhltbt4]{grid-template-columns:1fr}.t-footer__bottom[data-astro-cid-fjhltbt4]{flex-direction:column}}.t-card[data-astro-cid-7il6ge45]{background:var(--tech-surface);border:1px solid var(--tech-line-soft);border-radius:var(--tech-r);transition:transform var(--tech-duration), box-shadow var(--tech-duration);grid-template-rows:auto auto auto 1fr;align-content:start;gap:6px;padding-bottom:20px;display:grid;overflow:hidden}.t-card[data-astro-cid-7il6ge45]:hover{box-shadow:var(--tech-shadow-card);transform:translateY(-4px)}.t-card__img[data-astro-cid-7il6ge45]{aspect-ratio:4/3;background:var(--tech-photo-bg);place-items:center;display:grid;overflow:hidden}.t-card__img[data-astro-cid-7il6ge45] img[data-astro-cid-7il6ge45]{object-fit:cover;width:100%;height:100%}.t-card__img[data-astro-cid-7il6ge45] img[data-astro-cid-7il6ge45].t-card__fallback{object-fit:contain;width:40%;height:auto}.t-card__meta[data-astro-cid-7il6ge45]{font-family:var(--tech-en);font-size:var(--tech-fs-2xs);letter-spacing:.08em;color:var(--tech-muted);flex-wrap:wrap;gap:4px 12px;padding:12px 18px 0;display:flex}.t-card__label[data-astro-cid-7il6ge45]{text-transform:uppercase;color:var(--tech-accent);font-weight:600}.t-card__title[data-astro-cid-7il6ge45]{padding:12px 18px 0;font-size:15.5px;font-weight:500;line-height:1.6}.t-card__meta[data-astro-cid-7il6ge45]+.t-card__title[data-astro-cid-7il6ge45]{padding-top:0}.t-card[data-astro-cid-7il6ge45]:hover .t-card__title[data-astro-cid-7il6ge45]{color:var(--tech-accent)}.t-card__summary[data-astro-cid-7il6ge45]{-webkit-line-clamp:3;font-size:var(--tech-fs-xs);color:var(--tech-muted);-webkit-box-orient:vertical;padding:0 18px;line-height:1.7;display:-webkit-box;overflow:hidden}
