:root{--color-bg:#f6f6f6;--color-ink:#333333;--color-ink-sub:#8f95a1;--color-blue:#0059fd;--color-blue-hover:#004bd4;--color-cyan:#19b8f0;--color-dark:#191b1f;--color-white:#ffffff;--color-line:#e3e4e8;--color-line-soft:#efeff2;--color-footer-line:#34363c;--color-footer-text:#c9ccd3;--lp-navy:#0b2b5e;--lp-navy-deep:#071d42;--lp-navy-soft:#1a4180;--lp-navy-text:#0b2b5e;--lp-sky:#e8edf5;--lp-sky-2:#c9d3e4;--lp-accent:#f7b500;--lp-accent-hover:#ffc72e;--lp-line:#d5dce8;--lpb-sky:#dbeeff;--lpb-sky-2:#b7dcff;--lpb-sky-3:#eaf4ff;--lpb-blue:#2f8fef;--lpb-blue-deep:#1c62c8;--lpb-navy:#143a74;--lpb-navy-deep:#0d2a5a;--lpb-text:#1c3d6e;--lpb-orange:#ff8a1f;--lpb-orange-2:#f56a00;--lpb-line:#cfe2f7;--font-en:var(--font-poppins),sans-serif;--font-jp:"Yu Gothic","YuGothic",var(--font-noto),sans-serif;--text-display-xl:clamp(3.4rem,11.5vw,8.25rem);--text-display:clamp(2.6rem,6.4vw,5.2rem);--text-display-list:clamp(2rem,5.6vw,4.6rem);--text-display-side:clamp(2rem,4.4vw,4rem);--text-heading:clamp(1.7rem,3.8vw,2.7rem);--text-title:clamp(1.3rem,2.2vw,1.7rem);--text-title-sm:1.1rem;--text-body:0.95rem;--text-body-lg:0.98rem;--text-body-sm:0.88rem;--text-caption:0.82rem;--text-label:1rem;--text-fine:0.75rem;--wrap-max:1200px;--wrap-pad:clamp(20px,5vw,60px);--section-pad:clamp(110px,15vw,200px);--header-pad-y:clamp(24px,4.5vh,44px);--header-pad-x:clamp(20px,4vw,56px);--radius-card:14px;--radius-panel:16px;--radius-input:10px;--radius-pill:999px;--ease:cubic-bezier(0.25,0.7,0.2,1);--reveal-duration:0.9s;--reveal-offset:30px;--mask-duration:1.05s}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-jp);font-weight:500;color:var(--color-ink);background:var(--color-bg);line-height:2;font-feature-settings:"palt";overflow-x:hidden}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}button{font:inherit}::selection{background:var(--color-blue);color:#fff}.en{font-family:var(--font-en)}.wrap{max-width:var(--wrap-max);margin:0 auto;padding:0 var(--wrap-pad)}main>section{padding:var(--section-pad) 0;position:relative}@property --mask-color{syntax:"<color>";inherits:false;initial-value:rgba(0,0,0,0)}html.js .reveal:not(.reveal-mask){opacity:0;transform:translateY(var(--reveal-offset));transition:opacity var(--reveal-duration) var(--ease) var(--reveal-delay,0s),transform var(--reveal-duration) var(--ease) var(--reveal-delay,0s)}html.js .reveal:not(.reveal-mask).in{opacity:1;transform:none}html.js .reveal-mask{--mask-color:rgba(0,0,0,0);-webkit-mask-image:linear-gradient(to bottom,#000 0,var(--mask-color) 50%,var(--mask-color) 100%);mask-image:linear-gradient(to bottom,#000 0,var(--mask-color) 50%,var(--mask-color) 100%);-webkit-mask-size:100% 200%;mask-size:100% 200%;-webkit-mask-position:0 100%;mask-position:0 100%;transform:translateZ(0);will-change:mask-position;transition:-webkit-mask-position var(--mask-duration) var(--ease) var(--reveal-delay,0s),mask-position var(--mask-duration) var(--ease) var(--reveal-delay,0s),--mask-color .22s linear calc(var(--reveal-delay, 0s) + var(--mask-duration) * .75)}html.js .reveal-mask.in{--mask-color:rgba(0,0,0,1);-webkit-mask-position:0 0;mask-position:0 0}@media (prefers-reduced-motion:reduce){html.js .reveal{opacity:1;transform:none;transition:none}html.js .reveal-mask{-webkit-mask-image:none;mask-image:none;will-change:auto}}