:root{--color-bg:#fff;--color-surface:#f0f3f7;--color-text:#101c2c;--color-text-muted:#566274;--color-text-invert:#fff;--color-primary:#165dff;--color-primary-dark:#164ac1;--color-primary-light:#dce6ff;--color-accent:#a53a32;--border-color:#d8dfe8;--font-heading:"Manrope","Noto Sans JP",sans-serif;--font-display:"Manrope","Noto Sans JP",sans-serif;--font-body:"Noto Sans JP",sans-serif;--font-mono:"Manrope",sans-serif;--spacing-xs:.25rem;--spacing-sm:.5rem;--spacing-md:1rem;--spacing-lg:2rem;--spacing-xl:4rem;--spacing-2xl:7rem;--spacing-3xl:10rem;--radius-sm:0;--radius-md:0;--radius-lg:0;--radius-full:999px;--shadow-soft:0 18px 50px hsla(0,0%,8%,.08)}*,:after,:before{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:84px}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);line-height:1.8;margin:0;overflow-x:hidden;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 180'%3E%3Cfilter id='a'%3E%3CfeTurbulence baseFrequency='.8' numOctaves='3' stitchTiles='stitch' type='fractalNoise'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23a)'/%3E%3C/svg%3E");content:"";inset:0;opacity:.018;pointer-events:none;position:fixed;z-index:9999}::-moz-selection{background:var(--color-primary);color:#fff}::selection{background:var(--color-primary);color:#fff}img,video{display:block;max-width:100%}a,button{-webkit-tap-highlight-color:transparent}a{color:inherit;text-decoration:none}h1,h2,h3,h4,h5,h6,p{margin-top:0}h1,h2,h3,h4,h5,h6{color:var(--color-text);font-family:var(--font-heading);font-weight:700;letter-spacing:.02em;line-height:1.15;margin-bottom:1rem}.container{margin-inline:auto;width:min(1240px,calc(100% - 64px))}.section-heading{align-items:baseline;display:flex;gap:18px;margin-bottom:34px}.section-heading h2{font-size:clamp(1.55rem,2.4vw,2.15rem);letter-spacing:.1em;margin:0}.section-heading span{color:var(--color-text-muted);font-size:.72rem;font-weight:500;letter-spacing:.08em}.outline-button,.text-link{align-items:center;border:1px solid var(--color-primary);color:var(--color-primary-dark);display:inline-flex;font-family:var(--font-heading);font-size:.68rem;font-weight:600;gap:18px;letter-spacing:.12em;line-height:1;padding:13px 18px;transition:background-color .25s ease,color .25s ease,transform .25s ease}.outline-button:hover,.text-link:hover{background:var(--color-primary);color:#fff;transform:translateY(-2px)}.arrow-icon{height:18px;transition:transform .25s ease;width:18px}a:hover .arrow-icon,button:hover .arrow-icon{transform:translate(4px)}.fade-in-up,.scale-in,.slide-in-right{opacity:1;transform:none;transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.2,1)}.fade-in-up.is-visible,.scale-in.is-visible,.slide-in-right.is-visible{opacity:1;transform:none}.delay-100{transition-delay:.08s}.delay-200{transition-delay:.16s}.delay-300{transition-delay:.24s}.delay-400{transition-delay:.32s}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}@media(max-width:760px){.container{width:min(100% - 32px,1240px)}.section-heading{gap:12px;margin-bottom:24px}}button,input,select{font:inherit}a,button{touch-action:manipulation}:focus-visible{outline:3px solid #165dff;outline-offset:5px}.container{width:min(1360px,calc(100% - 96px))}.section-heading{margin-bottom:48px}.section-heading h2{font-size:clamp(2rem,4vw,3.7rem);letter-spacing:-.055em}.section-heading span{font-size:.875rem}.btn,.outline-button,.text-link{font-size:.875rem;letter-spacing:.02em;min-height:48px;padding:16px 24px}.btn{border:1px solid var(--color-primary);color:var(--color-primary);display:inline-flex}.skip-link{background:#fff;color:#101c2c;left:16px;padding:12px 20px;position:fixed;top:-100px;z-index:4000}.skip-link:focus{top:12px}.page-enter-active,.page-leave-active{transition:opacity .18s ease,transform .18s ease}.page-enter-from,.page-leave-to{opacity:0;transform:translateY(6px)}@supports (animation-timeline:view()){.page-home section:not(.hero)>.container{animation:reveal both;animation-range:entry 0 entry 20%;animation-timeline:view()}}@keyframes reveal{0%{opacity:.15;transform:translateY(35px)}to{opacity:1;transform:none}}@media(max-width:760px){.container{width:calc(100% - 40px)}.section-heading{flex-direction:column;gap:10px;margin-bottom:32px}}@media(prefers-reduced-motion:reduce){.fade-in-up,.scale-in,.slide-in-right{opacity:1;transform:none}}
