*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*
! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com
*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:Inter,Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}html{scroll-behavior:smooth}body{font-family:Inter,Noto Sans JP,sans-serif;color:#1a1a2e;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-x-0{left:0;right:0}.-bottom-96{bottom:-24rem}.-bottom-\[453px\]{bottom:-453px}.-left-16{left:-4rem}.-left-\[150px\]{left:-150px}.-right-16{right:-4rem}.-right-24{right:-6rem}.-top-32{top:-8rem}.bottom-0{bottom:0}.bottom-20{bottom:5rem}.bottom-4{bottom:1rem}.bottom-\[-10\%\]{bottom:-10%}.bottom-\[-190px\]{bottom:-190px}.bottom-\[-90px\]{bottom:-90px}.bottom-\[80px\]{bottom:80px}.left-0{left:0}.left-1\/2{left:50%}.left-10{left:2.5rem}.left-2{left:.5rem}.left-\[-110px\]{left:-110px}.left-\[-140px\]{left:-140px}.left-\[-60px\]{left:-60px}.right-0{right:0}.right-2{right:.5rem}.right-6{right:1.5rem}.right-\[-10\%\]{right:-10%}.right-\[-120px\]{right:-120px}.right-\[-150px\]{right:-150px}.right-\[-280px\]{right:-280px}.right-\[6\%\]{right:6%}.top-0{top:0}.top-1\/2{top:50%}.top-\[-420px\]{top:-420px}.top-\[-70px\]{top:-70px}.top-\[100px\]{top:100px}.top-\[44\%\]{top:44%}.top-\[45px\]{top:45px}.top-\[600px\]{top:600px}.top-\[80px\]{top:80px}.z-0{z-index:0}.z-10{z-index:10}.z-\[80\]{z-index:80}.z-\[90\]{z-index:90}.order-1{order:1}.order-2{order:2}.order-3{order:3}.order-4{order:4}.mx-10{margin-left:2.5rem;margin-right:2.5rem}.mx-auto{margin-left:auto;margin-right:auto}.my-4{margin-top:1rem;margin-bottom:1rem}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-9{margin-bottom:2.25rem}.mb-\[80px\]{margin-bottom:80px}.mt-10{margin-top:2.5rem}.mt-24{margin-top:6rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-6{margin-top:1.5rem}.mt-\[50px\]{margin-top:50px}.mt-\[80px\]{margin-top:80px}.mt-auto{margin-top:auto}.line-clamp-1{-webkit-line-clamp:1}.line-clamp-1,.line-clamp-4{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical}.line-clamp-4{-webkit-line-clamp:4}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-\[500\/353\]{aspect-ratio:500/353}.h-1\/2{height:50%}.h-20{height:5rem}.h-5{height:1.25rem}.h-8{height:2rem}.h-9{height:2.25rem}.h-\[133\.333px\]{height:133.333px}.h-\[13px\]{height:13px}.h-\[147px\]{height:147px}.h-\[150px\]{height:150px}.h-\[194px\]{height:194px}.h-\[312px\]{height:312px}.h-\[380px\]{height:380px}.h-\[40\%\]{height:40%}.h-\[404px\]{height:404px}.h-\[489px\]{height:489px}.h-\[50px\]{height:50px}.h-\[517px\]{height:517px}.h-\[539px\]{height:539px}.h-\[552px\]{height:552px}.h-\[565px\]{height:565px}.h-\[680px\]{height:680px}.h-\[70\%\]{height:70%}.h-\[743px\]{height:743px}.h-\[774px\]{height:774px}.h-dvh{height:100dvh}.h-full{height:100%}.max-h-full{max-height:100%}.min-h-0{min-height:0}.w-20{width:5rem}.w-8{width:2rem}.w-9{width:2.25rem}.w-\[100px\]{width:100px}.w-\[110px\]{width:110px}.w-\[122px\]{width:122px}.w-\[147px\]{width:147px}.w-\[150px\]{width:150px}.w-\[160px\]{width:160px}.w-\[194px\]{width:194px}.w-\[200px\]{width:200px}.w-\[205px\]{width:205px}.w-\[264px\]{width:264px}.w-\[301px\]{width:301px}.w-\[312px\]{width:312px}.w-\[374px\]{width:374px}.w-\[380px\]{width:380px}.w-\[404px\]{width:404px}.w-\[489px\]{width:489px}.w-\[517px\]{width:517px}.w-\[539px\]{width:539px}.w-\[552px\]{width:552px}.w-\[565px\]{width:565px}.w-\[680px\]{width:680px}.w-\[70\%\]{width:70%}.w-\[743px\]{width:743px}.w-full{width:100%}.w-px{width:1px}.min-w-0{min-width:0}.max-w-\[1198px\]{max-width:1198px}.max-w-\[1200px\]{max-width:1200px}.max-w-\[1440px\]{max-width:1440px}.max-w-\[550px\]{max-width:550px}.max-w-\[608px\]{max-width:608px}.max-w-\[613px\]{max-width:613px}.max-w-\[976px\]{max-width:976px}.max-w-full{max-width:100%}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-x-\[40\%\]{--tw-translate-x:-40%}.-translate-x-\[40\%\],.-translate-y-1\/2{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-translate-y-1\/2{--tw-translate-y:-50%}.-translate-y-\[24px\]{--tw-translate-y:-24px}.-translate-y-\[24px\],.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-6{--tw-translate-y:1.5rem}.translate-y-6,.translate-y-\[30px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-\[30px\]{--tw-translate-y:30px}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.animate-float-medium{animation:float 6s ease-in-out 1s infinite}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-20px)}}.animate-float-slow{animation:float 8s ease-in-out infinite}@keyframes scroll-line{0%{transform:translateY(-100%)}to{transform:translateY(200%)}}.animate-scroll-line{animation:scroll-line 2s ease-in-out infinite}@keyframes wordmark-orbit{0%{transform:translate(-50%,-50%) rotate(0deg)}to{transform:translate(-50%,-50%) rotate(1turn)}}.animate-wordmark-orbit{animation:wordmark-orbit 12s linear infinite}.cursor-grab{cursor:grab}.select-none{-webkit-user-select:none;-moz-user-select:none;user-select:none}.scroll-mt-20{scroll-margin-top:5rem}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-7{gap:1.75rem}.gap-8{gap:2rem}.space-y-1>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.25rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.self-start{align-self:flex-start}.self-center{align-self:center}.overflow-hidden{overflow:hidden}.overflow-x-hidden{overflow-x:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-\[20px\]{border-radius:20px}.rounded-\[18px\]{border-radius:18px}.rounded-\[24px\]{border-radius:24px}.rounded-\[30px\]{border-radius:30px}.rounded-\[4px\]{border-radius:4px}.rounded-full{border-radius:9999px}.rounded-md{border-radius:.375rem}.rounded-bl-\[60px\]{border-bottom-left-radius:60px}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-\[\#00a79d\]{--tw-border-opacity:1;border-color:rgb(0 167 157/var(--tw-border-opacity,1))}.border-\[\#129e84\]{--tw-border-opacity:1;border-color:rgb(18 158 132/var(--tw-border-opacity,1))}.border-\[\#d9dede\]{--tw-border-opacity:1;border-color:rgb(217 222 222/var(--tw-border-opacity,1))}.border-\[\#e5e8e8\]{--tw-border-opacity:1;border-color:rgb(229 232 232/var(--tw-border-opacity,1))}.border-black{--tw-border-opacity:1;border-color:rgb(0 0 0/var(--tw-border-opacity,1))}.border-eyebrow-teal{--tw-border-opacity:1;border-color:rgb(3 147 128/var(--tw-border-opacity,1))}.border-tag-blue-text{--tw-border-opacity:1;border-color:rgb(69 117 163/var(--tw-border-opacity,1))}.border-tag-orange-text{--tw-border-opacity:1;border-color:rgb(195 100 12/var(--tw-border-opacity,1))}.border-tag-teal-border{--tw-border-opacity:1;border-color:rgb(0 167 157/var(--tw-border-opacity,1))}.border-transparent{border-color:transparent}.border-white{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.border-white\/50{border-color:hsla(0,0%,100%,.5)}.bg-\[\#000323\]{--tw-bg-opacity:1;background-color:rgb(12 14 36/var(--tw-bg-opacity,1))}.bg-\[\#00C1A7\]{--tw-bg-opacity:1;background-color:rgb(0 193 167/var(--tw-bg-opacity,1))}.bg-\[\#00d1b5\]{--tw-bg-opacity:1;background-color:rgb(0 209 181/var(--tw-bg-opacity,1))}.bg-\[\#171764\]{--tw-bg-opacity:1;background-color:rgb(23 23 100/var(--tw-bg-opacity,1))}.bg-\[\#313131\]{--tw-bg-opacity:1;background-color:rgb(49 49 49/var(--tw-bg-opacity,1))}.bg-\[\#346fc2\]{--tw-bg-opacity:1;background-color:rgb(52 111 194/var(--tw-bg-opacity,1))}.bg-\[\#4267ED\]{--tw-bg-opacity:1;background-color:rgb(66 103 237/var(--tw-bg-opacity,1))}.bg-\[\#f3f8fc\]{--tw-bg-opacity:1;background-color:rgb(243 248 252/var(--tw-bg-opacity,1))}.bg-\[rgba\(0\2c 193\2c 167\2c 0\.20\)\]{background-color:rgba(0,193,167,.2)}.bg-\[rgba\(66\2c 103\2c 237\2c 0\.10\)\]{background-color:rgba(66,103,237,.1)}.bg-black\/50{background-color:rgba(0,0,0,.5)}.bg-eyebrow-teal{--tw-bg-opacity:1;background-color:rgb(3 147 128/var(--tw-bg-opacity,1))}.bg-hero{--tw-bg-opacity:1;background-color:rgb(12 14 36/var(--tw-bg-opacity,1))}.bg-page-bg{--tw-bg-opacity:1;background-color:rgb(248 248 248/var(--tw-bg-opacity,1))}.bg-transparent{background-color:transparent}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/20{background-color:hsla(0,0%,100%,.2)}.bg-white\/90{background-color:hsla(0,0%,100%,.9)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.bg-gradient-to-b{background-image:linear-gradient(to bottom,var(--tw-gradient-stops))}.bg-gradient-to-br{background-image:linear-gradient(to bottom right,var(--tw-gradient-stops))}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-\[\#000323\]{--tw-gradient-from:#0C0E24 var(--tw-gradient-from-position);--tw-gradient-to:rgba(12,14,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#00d1b5\]{--tw-gradient-from:#00d1b5 var(--tw-gradient-from-position);--tw-gradient-to:rgba(0,209,181,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#039380\]{--tw-gradient-from:#039380 var(--tw-gradient-from-position);--tw-gradient-to:rgba(3,147,128,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-\[\#696969\]{--tw-gradient-from:#696969 var(--tw-gradient-from-position);--tw-gradient-to:hsla(0,0%,41%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-hero{--tw-gradient-from:#0C0E24 var(--tw-gradient-from-position);--tw-gradient-to:rgba(12,14,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:transparent var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to)}.via-\[\#0a1f40\],.via-hero-mid{--tw-gradient-to:rgba(12,14,36,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#0C0E24 var(--tw-gradient-via-position),var(--tw-gradient-to)}.via-white{--tw-gradient-to:hsla(0,0%,100%,0) var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from),#fff var(--tw-gradient-via-position),var(--tw-gradient-to)}.to-\[\#009480\]{--tw-gradient-to:#009480 var(--tw-gradient-to-position)}.to-\[\#039380\]{--tw-gradient-to:#039380 var(--tw-gradient-to-position)}.to-\[\#061125\]{--tw-gradient-to:#0C0E24 var(--tw-gradient-to-position)}.to-\[\#292929\]{--tw-gradient-to:#292929 var(--tw-gradient-to-position)}.to-\[\#346fc2\]{--tw-gradient-to:#346fc2 var(--tw-gradient-to-position)}.to-hero{--tw-gradient-to:#0C0E24 var(--tw-gradient-to-position)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-4{padding:1rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-12{padding-left:3rem;padding-right:3rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-20{padding-left:5rem;padding-right:5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[6px\]{padding-left:6px;padding-right:6px}.py-10{padding-top:2.5rem;padding-bottom:2.5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-32{padding-top:8rem;padding-bottom:8rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-5{padding-top:1.25rem;padding-bottom:1.25rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.py-\[2px\]{padding-top:2px;padding-bottom:2px}.py-\[3px\]{padding-top:3px;padding-bottom:3px}.pb-10{padding-bottom:2.5rem}.pb-24{padding-bottom:6rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pb-8{padding-bottom:2rem}.pb-\[100px\]{padding-bottom:100px}.pb-\[50px\]{padding-bottom:50px}.pt-0\.5{padding-top:.125rem}.pt-10{padding-top:2.5rem}.pt-12{padding-top:3rem}.pt-2{padding-top:.5rem}.pt-20{padding-top:5rem}.pt-4{padding-top:1rem}.pt-5{padding-top:1.25rem}.pt-6{padding-top:1.5rem}.pt-8{padding-top:2rem}.pt-\[100px\]{padding-top:100px}.pt-\[80px\]{padding-top:80px}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-\[\'Noto_Sans_JP\'\]{font-family:Noto Sans JP}.font-outfit{font-family:Outfit,sans-serif}.font-sans{font-family:Inter,Noto Sans JP,-apple-system,BlinkMacSystemFont,sans-serif}.text-2xl{font-size:1.5rem;line-height:2rem}.text-\[11px\]{font-size:11px}.text-\[12px\]{font-size:12px}.text-\[13px\]{font-size:13px}.text-\[14px\]{font-size:14px}.text-\[16px\]{font-size:16px}.text-\[18px\]{font-size:18px}.text-\[20px\]{font-size:20px}.text-\[22px\]{font-size:22px}.text-\[28px\]{font-size:28px}.text-\[48px\]{font-size:48px}.text-\[54px\]{font-size:54px}.text-\[9px\]{font-size:9px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extralight{font-weight:200}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.font-thin{font-weight:100}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal) var(--tw-slashed-zero) var(--tw-numeric-figure) var(--tw-numeric-spacing) var(--tw-numeric-fraction)}.leading-\[0\.9\]{line-height:.9}.leading-\[1\.39\]{line-height:1.39}.leading-\[1\.4\]{line-height:1.4}.leading-\[1\.5\]{line-height:1.5}.leading-\[1\.6\]{line-height:1.6}.leading-\[1\.8\]{line-height:1.8}.leading-none{line-height:1}.leading-tight{line-height:1.25}.tracking-\[-0\.22px\]{letter-spacing:-.22px}.tracking-\[0\.11px\]{letter-spacing:.11px}.tracking-\[0\.12px\]{letter-spacing:.12px}.tracking-\[0\.48px\]{letter-spacing:.48px}.tracking-\[0\.56px\]{letter-spacing:.56px}.tracking-\[0\.64px\]{letter-spacing:.64px}.tracking-\[0\.65px\]{letter-spacing:.65px}.tracking-\[0\.6px\]{letter-spacing:.6px}.tracking-\[0\.7px\]{letter-spacing:.7px}.tracking-\[0\.84px\]{letter-spacing:.84px}.tracking-\[0\.8px\]{letter-spacing:.8px}.tracking-\[0\.96px\]{letter-spacing:.96px}.tracking-\[0\.9px\]{letter-spacing:.9px}.tracking-\[1\.1px\]{letter-spacing:1.1px}.tracking-\[1\.8px\]{letter-spacing:1.8px}.tracking-\[1px\]{letter-spacing:1px}.tracking-\[2\.8px\]{letter-spacing:2.8px}.tracking-\[3px\]{letter-spacing:3px}.text-\[\#009480\]{--tw-text-opacity:1;color:rgb(0 148 128/var(--tw-text-opacity,1))}.text-\[\#129e84\]{--tw-text-opacity:1;color:rgb(18 158 132/var(--tw-text-opacity,1))}.text-\[\#313131\]{--tw-text-opacity:1;color:rgb(49 49 49/var(--tw-text-opacity,1))}.text-\[\#464646\]{--tw-text-opacity:1;color:rgb(70 70 70/var(--tw-text-opacity,1))}.text-\[\#787878\]{--tw-text-opacity:1;color:rgb(120 120 120/var(--tw-text-opacity,1))}.text-black{--tw-text-opacity:1;color:rgb(0 0 0/var(--tw-text-opacity,1))}.text-body-text{--tw-text-opacity:1;color:rgb(49 49 49/var(--tw-text-opacity,1))}.text-dark-text{--tw-text-opacity:1;color:rgb(26 26 46/var(--tw-text-opacity,1))}.text-eyebrow-teal{--tw-text-opacity:1;color:rgb(3 147 128/var(--tw-text-opacity,1))}.text-medium-text{--tw-text-opacity:1;color:rgb(74 85 104/var(--tw-text-opacity,1))}.text-primary{--tw-text-opacity:1;color:rgb(19 181 160/var(--tw-text-opacity,1))}.text-tag-blue-text{--tw-text-opacity:1;color:rgb(69 117 163/var(--tw-text-opacity,1))}.text-tag-orange-text{--tw-text-opacity:1;color:rgb(195 100 12/var(--tw-text-opacity,1))}.text-tag-teal-text{--tw-text-opacity:1;color:rgb(0 148 128/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.underline{text-decoration-line:underline}.decoration-from-font{text-decoration-thickness:from-font}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-100{opacity:1}.opacity-15{opacity:.15}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-65{opacity:.65}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.shadow-2xl{--tw-shadow:0 25px 50px -12px rgba(0,0,0,.25);--tw-shadow-colored:0 25px 50px -12px var(--tw-shadow-color)}.shadow-2xl,.shadow-\[0px_10px_30px_rgba\(0\2c 0\2c 0\2c 0\.15\)\]{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-\[0px_10px_30px_rgba\(0\2c 0\2c 0\2c 0\.15\)\]{--tw-shadow:0px 10px 30px rgba(0,0,0,.15);--tw-shadow-colored:0px 10px 30px var(--tw-shadow-color)}.outline-none{outline:2px solid transparent;outline-offset:2px}.blur{--tw-blur:blur(8px)}.blur,.blur-\[100px\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.blur-\[100px\]{--tw-blur:blur(100px)}.drop-shadow-\[0px_4px_10px_rgba\(0\2c 0\2c 0\2c 1\)\]{--tw-drop-shadow:drop-shadow(0px 4px 10px #000)}.drop-shadow-\[0px_4px_10px_rgba\(0\2c 0\2c 0\2c 1\)\],.drop-shadow-\[0px_4px_8px_rgba\(0\2c 0\2c 0\2c 0\.95\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0px_4px_8px_rgba\(0\2c 0\2c 0\2c 0\.95\)\]{--tw-drop-shadow:drop-shadow(0px 4px 8px rgba(0,0,0,.95))}.drop-shadow-\[0px_6px_10px_rgba\(41\2c 159\2c 143\2c 0\.07\)\]{--tw-drop-shadow:drop-shadow(0px 6px 10px rgba(41,159,143,.07))}.drop-shadow-\[0px_6px_10px_rgba\(41\2c 159\2c 143\2c 0\.07\)\],.drop-shadow-\[0px_6px_8px_rgba\(41\2c 159\2c 143\2c 0\.1\)\]{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.drop-shadow-\[0px_6px_8px_rgba\(41\2c 159\2c 143\2c 0\.1\)\]{--tw-drop-shadow:drop-shadow(0px 6px 8px rgba(41,159,143,.1))}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[clip-path\]{transition-property:clip-path;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-\[transform\2c opacity\]{transition-property:transform,opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.delay-150{transition-delay:.15s}.delay-300{transition-delay:.3s}.duration-700{transition-duration:.7s}.duration-\[900ms\]{transition-duration:.9s}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\[--badge-h\:44px\]{--badge-h:44px}.\[--h1-min\:26px\]{--h1-min:26px}.\[--h1-vh\:6\.5vh\]{--h1-vh:6.5vh}.\[--hero-pb\:0px\]{--hero-pb:0px}.\[--hero-pt\:40px\]{--hero-pt:40px}.\[--news-mt\:16px\]{--news-mt:16px}.\[--num-shadow\:0_0_14px_rgba\(255\2c 255\2c 255\2c 0\.9\)\]{--num-shadow:0 0 14px hsla(0,0%,100%,.9)}.\[--p-min\:12px\]{--p-min:12px}.\[--p-vh\:1\.5vh\]{--p-vh:1.5vh}.\[--tag-min\:14px\]{--tag-min:14px}.\[--tag-vh\:2\.1vh\]{--tag-vh:2.1vh}.\[--wave-bg-x\:calc\(50\%_-_60px\)\]{--wave-bg-x:calc(50% - 60px)}.\[--wave-mask-x\:55\%\]{--wave-mask-x:55%}@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Inter:wght@100;200;400;500;600;700&family=Outfit:wght@100;300;500;600;700&display=swap");@keyframes wave-flow{0%{transform:translateX(0) scaleY(1)}50%{transform:translateX(-5%) scaleY(1.05)}to{transform:translateX(0) scaleY(1)}}.wave-layer{animation:wave-flow 8s ease-in-out infinite}.wave-layer-2{animation:wave-flow 10s ease-in-out infinite reverse}.scrollbar-hide::-webkit-scrollbar{display:none}.scrollbar-hide{-ms-overflow-style:none;scrollbar-width:none}.gradient-text{background:linear-gradient(135deg,#13b5a0,#00d4c0);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}@keyframes slide-in-right{0%{transform:translateX(48px);opacity:0}to{transform:translateX(0);opacity:1}}@keyframes slide-in-left{0%{transform:translateX(-48px);opacity:0}to{transform:translateX(0);opacity:1}}.animate-slide-in-right{animation:slide-in-right .3s ease-out}.animate-slide-in-left{animation:slide-in-left .3s ease-out}.hover\:border-primary:hover{--tw-border-opacity:1;border-color:rgb(19 181 160/var(--tw-border-opacity,1))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity,1))}.hover\:bg-white:hover{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.hover\:text-eyebrow-teal:hover{--tw-text-opacity:1;color:rgb(3 147 128/var(--tw-text-opacity,1))}.hover\:text-primary:hover{--tw-text-opacity:1;color:rgb(19 181 160/var(--tw-text-opacity,1))}.hover\:opacity-60:hover{opacity:.6}.hover\:opacity-70:hover{opacity:.7}.hover\:opacity-90:hover{opacity:.9}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}@media (min-width:640px){.sm\:mx-6{margin-left:1.5rem;margin-right:1.5rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}}@media (min-width:768px){.md\:bottom-10{bottom:2.5rem}.md\:bottom-\[-60px\]{bottom:-60px}.md\:bottom-\[8\%\]{bottom:8%}.md\:left-10{left:2.5rem}.md\:left-\[10\%\]{left:10%}.md\:left-\[20\%\]{left:20%}.md\:right-10{right:2.5rem}.md\:right-\[-100px\]{right:-100px}.md\:right-\[10\%\]{right:10%}.md\:right-\[60px\]{right:60px}.md\:top-10{top:2.5rem}.md\:top-\[-276px\]{top:-276px}.md\:top-\[190px\]{top:190px}.md\:order-none{order:0}.md\:mx-2{margin-left:.5rem;margin-right:.5rem}.md\:mb-16{margin-bottom:4rem}.md\:mt-0{margin-top:0}.md\:mt-auto{margin-top:auto}.md\:block{display:block}.md\:inline{display:inline}.md\:flex{display:flex}.md\:hidden{display:none}.md\:h-5{height:1.25rem}.md\:h-\[150px\]{height:150px}.md\:h-\[60px\]{height:60px}.md\:h-\[88px\]{height:88px}.md\:min-h-0{min-height:0}.md\:min-h-screen{min-height:100vh}.md\:w-5{width:1.25rem}.md\:w-\[220px\]{width:220px}.md\:w-\[336px\]{width:336px}.md\:w-\[50\%\]{width:50%}.md\:w-\[60px\]{width:60px}.md\:min-w-0{min-width:0}.md\:flex-1{flex:1 1 0%}.md\:shrink-0{flex-shrink:0}.md\:-translate-y-\[100px\]{--tw-translate-y:-100px}.md\:-translate-y-\[100px\],.md\:translate-x-\[200px\]{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.md\:translate-x-\[200px\]{--tw-translate-x:200px}.md\:scroll-mt-\[88px\]{scroll-margin-top:88px}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:flex-col{flex-direction:column}.md\:gap-14{gap:3.5rem}.md\:gap-5{gap:1.25rem}.md\:gap-6{gap:1.5rem}.md\:gap-8{gap:2rem}.md\:overflow-hidden{overflow:hidden}.md\:overflow-y-auto{overflow-y:auto}.md\:px-10{padding-left:2.5rem;padding-right:2.5rem}.md\:px-12{padding-left:3rem;padding-right:3rem}.md\:px-14{padding-left:3.5rem;padding-right:3.5rem}.md\:px-2{padding-left:.5rem;padding-right:.5rem}.md\:px-28{padding-left:7rem;padding-right:7rem}.md\:px-\[80px\]{padding-left:80px;padding-right:80px}.md\:py-0{padding-top:0;padding-bottom:0}.md\:py-4{padding-top:1rem;padding-bottom:1rem}.md\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.md\:py-8{padding-top:2rem;padding-bottom:2rem}.md\:pr-0{padding-right:0}.md\:pt-0{padding-top:0}.md\:pt-\[190px\]{padding-top:190px}.md\:pt-\[88px\]{padding-top:88px}.md\:text-2xl{font-size:1.5rem;line-height:2rem}.md\:text-\[15px\]{font-size:15px}.md\:text-\[16px\]{font-size:16px}.md\:text-\[17px\]{font-size:17px}.md\:text-\[22px\]{font-size:22px}.md\:text-\[36px\]{font-size:36px}.md\:text-\[40px\]{font-size:40px}.md\:text-\[72px\]{font-size:72px}.md\:text-\[94px\]{font-size:94px}.md\:text-sm{font-size:.875rem;line-height:1.25rem}.md\:text-xs{font-size:.75rem;line-height:1rem}.md\:font-medium{font-weight:500}.md\:font-normal{font-weight:400}.md\:leading-\[1\.7\]{line-height:1.7}.md\:leading-\[1\.8\]{line-height:1.8}.md\:tracking-\[0\.56px\]{letter-spacing:.56px}.md\:tracking-\[0\.96px\]{letter-spacing:.96px}.md\:tracking-\[2px\]{letter-spacing:2px}.md\:text-\[\#303030\]{--tw-text-opacity:1;color:rgb(48 48 48/var(--tw-text-opacity,1))}.md\:text-\[\#575757\]{--tw-text-opacity:1;color:rgb(87 87 87/var(--tw-text-opacity,1))}.md\:opacity-100{opacity:1}.md\:opacity-90{opacity:.9}.md\:\[--hero-pb\:60px\]{--hero-pb:60px}.md\:\[--hero-pt\:55px\]{--hero-pt:55px}.md\:\[--news-mt\:8px\]{--news-mt:8px}.md\:\[--p-fs\:16px\]{--p-fs:16px}.md\:\[--p-lh\:2\.1\]{--p-lh:2.1}.md\:\[--wave-bg-x\:center\]{--wave-bg-x:center}.md\:\[--wave-mask-x\:70\%\]{--wave-mask-x:70%}}@media (min-width:1024px){.lg\:left-16{left:4rem}.lg\:right-16{right:4rem}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:flex{display:flex}.lg\:w-\[220px\]{width:220px}.lg\:max-w-\[616px\]{max-width:616px}.lg\:flex-row{flex-direction:row}.lg\:items-start{align-items:flex-start}.lg\:items-center{align-items:center}.lg\:gap-3{gap:.75rem}.lg\:gap-6{gap:1.5rem}.lg\:gap-9{gap:2.25rem}.lg\:px-10{padding-left:2.5rem;padding-right:2.5rem}.lg\:px-32{padding-left:8rem;padding-right:8rem}.lg\:px-36{padding-left:9rem;padding-right:9rem}.lg\:px-\[120px\]{padding-left:120px;padding-right:120px}.lg\:py-6{padding-top:1.5rem;padding-bottom:1.5rem}.lg\:pt-10{padding-top:2.5rem}.lg\:text-2xl{font-size:1.5rem;line-height:2rem}.lg\:text-\[90px\]{font-size:90px}.lg\:text-base{font-size:1rem;line-height:1.5rem}.lg\:\[--badge-h\:70px\]{--badge-h:70px}.lg\:\[--h1-min\:28px\]{--h1-min:28px}.lg\:\[--h1-vh\:6\.5vh\]{--h1-vh:6.5vh}.lg\:\[--hero-pb\:80px\]{--hero-pb:80px}.lg\:\[--hero-pt\:80px\]{--hero-pt:80px}.lg\:\[--news-mt\:clamp\(32px\2c calc\(100vh_-_850px\)\2c 100px\)\]{--news-mt:clamp(32px,calc(100vh - 850px),100px)}.lg\:\[--tag-min\:16px\]{--tag-min:16px}.lg\:\[--tag-vh\:2\.6vh\]{--tag-vh:2.6vh}}@media (min-width:1200px){.min-\[1200px\]\:block{display:block}.min-\[1200px\]\:hidden{display:none}}
/* --- hero visual continuous motion --- */
div[style*="hero/dots.svg"]{background-image:none!important}

/* ─────────────────────────────────────────────
   タップ波紋（リップル）  ※末尾のJSと連動
   クリック/タップした「瞬間」を合図に、押した座標から
   波紋が1.2秒で広がる。ボタン以外・余白どこでも出る。
   ───────────────────────────────────────────── */
/* 3重の細いリングが少しずつ遅れて広がる(全リング同時刻に終了するためJS側の除去処理はそのままでOK) */
.tap-ripple {
  --rs: 84px;                        /* 1重目(外側)の最大直径 */
  position: fixed;
  z-index: 9999;
  width: 0;
  height: 0;
  transform: translate(-50%, -50%);
  border: 2px solid rgba(0, 167, 157, .45);
  border-radius: 50%;
  background: transparent;
  pointer-events: none;
  animation: tap-ripple-ring 1.42s cubic-bezier(.22, .61, .36, 1) both;
}
.tap-ripple::before,
.tap-ripple::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  border-radius: 50%;
  background: transparent;
}
.tap-ripple::before {
  --rs: 66px;                        /* 2重目 */
  border: 1.5px solid rgba(0, 167, 157, .4);
  animation: tap-ripple-ring 1.26s cubic-bezier(.22, .61, .36, 1) .16s both;
}
.tap-ripple::after {
  --rs: 48px;                        /* 3重目(内側) */
  border: 1px solid rgba(0, 167, 157, .35);
  animation: tap-ripple-ring 1.1s cubic-bezier(.22, .61, .36, 1) .32s both;
}
@keyframes tap-ripple-ring {
  0%   { width: 0;         height: 0;         opacity: .7; }
  70%  { opacity: .28; }
  100% { width: var(--rs); height: var(--rs); opacity: 0;  }
}
@media (prefers-reduced-motion: reduce) {
  .tap-ripple { display: none; }
}

/* ─────────────────────────────────────────────
   オープニングアニメーション（読み込み/リロード時）
   Figma 895-39822 準拠。制御JSは index.html 末尾。
   ───────────────────────────────────────────── */
:root{--op-blob-blue:#2a44b0;--op-blob-teal:#0a8f7d}
html.op-active,html.op-active body{overflow:hidden}
.op-opening{position:fixed;inset:0;z-index:10001;overflow:hidden;background:#0C0E24;
  display:flex;align-items:center;justify-content:center;
  animation:op-out .5s ease-in-out forwards;animation-delay:3.6s}
@keyframes op-out{to{opacity:0;visibility:hidden}}

/* 2つのボワッとしたオブジェクト（青/ティール）：ゆっくり鼓動＋ふわっと回転＋漂い */
.op-blobs{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.op-blob{position:absolute;mix-blend-mode:screen;will-change:transform}
.op-blob .op-core{width:100%;height:100%;filter:blur(80px);will-change:transform}
.op-blue{width:30vmin;height:28vmin;animation:op-drift-blue 40s linear infinite}
.op-blue .op-core{border-radius:46% 54% 57% 43% / 52% 45% 55% 48%;
  background:radial-gradient(circle at 40% 36%,var(--op-blob-blue),rgba(42,68,176,.35) 46%,transparent 72%);
  animation:op-pulse 6.5s ease-in-out infinite}
.op-teal{width:26vmin;height:27vmin;animation:op-drift-teal 46s linear infinite}
.op-teal .op-core{border-radius:55% 45% 48% 52% / 46% 56% 44% 54%;
  background:radial-gradient(circle at 60% 58%,var(--op-blob-teal),rgba(10,143,125,.30) 46%,transparent 72%);
  animation:op-pulse 8s ease-in-out infinite;animation-delay:-2.5s}
@keyframes op-drift-blue{0%{transform:translate(-7%,-13%) rotate(0)}50%{transform:translate(-3%,-8%) rotate(180deg)}100%{transform:translate(-7%,-13%) rotate(360deg)}}
@keyframes op-drift-teal{0%{transform:translate(13%,11%) rotate(0)}50%{transform:translate(9%,14%) rotate(180deg)}100%{transform:translate(13%,11%) rotate(360deg)}}
@keyframes op-pulse{0%,100%{transform:scale(.9)}50%{transform:scale(1.13)}}

/* Toshin AI（Figma実SVG）：下地10%＋白ゲージが下から満ちる */
.op-stage{position:relative;z-index:2;text-align:center;--op-ww:clamp(216px,33vw,336px)}
.op-wordmark{position:relative;display:inline-block;width:var(--op-ww);aspect-ratio:318 / 71;line-height:0}
.op-tm{position:absolute;inset:0;width:100%;height:100%;display:block;fill:#fff}
.op-base{opacity:.10}
.op-fill{clip-path:inset(100% 0 0 0);
  animation:op-gauge 2.6s cubic-bezier(.5,0,.2,1) forwards;animation-delay:.6s}
@keyframes op-gauge{to{clip-path:inset(0 0 0 0)}}

/* サブタイトル：ゲージ完了後にふわっと */
.op-subtitle{margin-top:.74em;font-family:Outfit,"Noto Sans JP",sans-serif;font-size:calc(var(--op-ww) / 336 * 19);letter-spacing:-.01em;opacity:0;animation:op-sub .8s ease forwards;animation-delay:2.9s}
.op-subtitle .op-nagase{font-weight:700;color:#fff}
.op-subtitle .op-dev{font-weight:500;color:#009480}
@keyframes op-sub{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

@media (prefers-reduced-motion:reduce){
  .op-blob,.op-blob .op-core{animation:none}
  .op-fill{animation:none;clip-path:inset(0 0 0 0)}
  .op-subtitle{animation:none;opacity:1}
  .op-opening{animation:op-out .4s ease forwards;animation-delay:2s}
}

/* ─── 「東進のAI」バッジ：グラデーションアニメーション ─── */
@keyframes badge-gradient-flow{
  0%{background-position:0% 50%}
  50%{background-position:100% 50%}
  100%{background-position:0% 50%}
}
.badge-gradient-animate{
  background-image:linear-gradient(90deg,#039380,#346fc2,#039380);
  background-size:200% 100%;
  background-position:0% 50%;
  animation:badge-gradient-flow 6s ease-in-out infinite;
}

/* ─── テキスト選択時のハイライトカラー ─── */
::selection{background-color:#0a8f7d;color:#fff}
::-moz-selection{background-color:#0a8f7d;color:#fff}

@media (prefers-reduced-motion:reduce){
  .badge-gradient-animate{animation:none}
}

/* ─── 採用情報: モバイルではカルーセルを画面幅いっぱいに表示 (767px以下 / index・technology共通) ─── */
@media (max-width: 767px) {
  /* コンテナのpx-6(24px)をカルーセル部分だけ打ち消して全幅化 */
  #recruit div.relative.overflow-hidden {
    margin-left: -24px;
    margin-right: -24px;
  }
  /* カードが画面中央に来るようにスナップを中央基準へ。
     先頭/末尾のカードも中央に置けるよう左右に(画面幅-カード幅)/2の余白を確保 */
  #recruit [data-job-scroll] {
    padding-left: calc((100vw - min(374px, 100vw - 48px)) / 2);
    padding-right: calc((100vw - min(374px, 100vw - 48px)) / 2);
  }
  #recruit [data-job-card],
  #recruit [data-job-clone] {
    scroll-snap-align: center;
  }
}

/* ─── ヒーロー/採用情報の背景オーブ: ゆっくり漂い・伸縮・ブラー強度変化 ─── */
@keyframes orb-drift-a {
  0%, 100% { transform: translate(0, 0) scale(1);        filter: blur(100px); }
  30%      { transform: translate(-90px, 70px) scale(1.2);  filter: blur(150px); }
  60%      { transform: translate(50px, -40px) scale(.84);  filter: blur(60px); }
}
@keyframes orb-drift-b {
  0%, 100% { transform: translate(0, 0) scale(1);        filter: blur(100px); }
  35%      { transform: translate(80px, -60px) scale(.8);   filter: blur(70px); }
  70%      { transform: translate(-50px, 40px) scale(1.26); filter: blur(160px); }
}
@media (prefers-reduced-motion: no-preference) {
  #hero div.bg-\[\#171764\],
  #recruit div.bg-\[\#171764\] {
    animation: orb-drift-a 15s ease-in-out infinite;
    will-change: transform, filter;
  }
  #hero div.bg-\[\#00C1A7\],
  #recruit div.bg-\[\#00C1A7\] {
    animation: orb-drift-b 19s ease-in-out infinite;
    animation-delay: -6s;
    will-change: transform, filter;
  }
}

/* ─── CVボタン: クリック/タップ時の「押し込み」フィードバック (index・technology共通) ───
   ホバーの浮き上がり(-2px)に対し、押下時は沈み込み+縮小+減光+影の収縮で状態変化を明確化。
   :activeはタッチ端末のタップ時にも発火するため、スマホ/タブレットでも同じ挙動になる */
a.btn-cta:active,
a.btn-technology:active {
  transform: translateY(1px) scale(0.97);
  filter: brightness(0.92);
  transition-duration: 0.08s;   /* 押した瞬間は即座に反応させる */
}
a.btn-cta--teal:active { box-shadow: 0 3px 10px rgba(0, 193, 167, 0.35); }
a.btn-cta--dark:active { box-shadow: 0 3px 10px rgba(41, 41, 41, 0.3); }
a.btn-technology:active { box-shadow: 0 4px 12px rgba(0, 193, 167, 0.35); }

/* ─── 「TOPへ」ボタン: 画面右下の透かし風・ページ先頭へ戻る (PC/タブレットのみ) ─── */
.to-top-link {
  position: fixed;
  right: 28px;
  bottom: 24px;
  z-index: 70;                     /* ヘッダー(80)/モーダル(90)より下 */
  display: none;
  padding: 8px 4px;
  background: none;
  border: none;
  cursor: pointer;
  font-family: Outfit, "Noto Sans JP", sans-serif;
  font-weight: 300;                /* 細め */
  font-size: 13px;
  letter-spacing: 2px;
  color: #fff;
  mix-blend-mode: difference;      /* 明るい背景でも暗い背景でも透かしとして見える */
  opacity: 0;                      /* ファーストビュー内では非表示 */
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity .5s ease, transform .5s ease;
}
.to-top-link.is-visible {
  opacity: .4;
  transform: translateY(0);
  pointer-events: auto;
}
.to-top-link.is-visible:hover { opacity: .85; }
.to-top-link.is-visible:active { opacity: 1; transform: translateY(-2px); }
@media (min-width: 768px) {
  .to-top-link { display: inline-flex; align-items: center; }
}

/* ─── フォトマーキー: セクション境界をまたぐ自動スライド写真 ─── */
:root {
  --pm-h: 346px;
  --pm-w: 510px;
  --pm-gap: 20px;
}
.pm-band {
  position: relative;
  z-index: 5;
  width: 100%;
  overflow: hidden;
  /* 前セクション側に75%、採用情報セクション側に25%重ね、境界線を写真の下寄りに配置する
     (完全に透明にして素通しする) */
  margin-top: calc(var(--pm-h) * -0.75);
  margin-bottom: calc(var(--pm-h) * -0.25);
  pointer-events: none;
  background: transparent;
}
/* 写真帯が75%重なる分、前セクションの実コンテンツを避けて余白を確保 */
.pm-push {
  padding-bottom: calc(var(--pm-h) * 0.75);
}
.pm-track {
  display: flex;
  gap: var(--pm-gap);
  width: max-content;
  animation: pm-scroll 55s linear infinite;
  will-change: transform;
}
.pm-img {
  width: var(--pm-w);
  height: var(--pm-h);
  object-fit: cover;
  border-radius: 20px;
  flex: none;
  display: block;
}
/* 前半セット1周期分( -50% - gap/2 )移動してシームレスにループ */
@keyframes pm-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(calc(-50% - var(--pm-gap) / 2)); }
}
/* 写真帯が採用情報側に25%重なる分だけ、その上部余白を確保 */
.pm-pull > #recruit {
  padding-top: calc(80px + var(--pm-h) * 0.25);
}
/* pm-push を直接セクション自身に付ける場合(technology.html等、写真帯の直前が
   単一セクションで実余白用の別divを持てない構成)は、実際に見える余白(100px)を
   写真帯の重なり分(75%)に上乗せしないと余白が消えてしまうための専用クラス */
.pm-push-100 {
  padding-bottom: calc(var(--pm-h) * 0.75 + 100px);
}
@media (max-width: 767px) {
  :root { --pm-h: 216px; --pm-w: 318px; --pm-gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .pm-track { animation: none; }
}

/* ══════════════════════════════════════════════════════════
   ここから index.html / technology.html 共通ルール
   (両ファイルのインラインstyleに重複していたものを統合)
   ══════════════════════════════════════════════════════════ */

@media (max-width: 767px) {

  /* ヒーロー見出し: 最長行(200億件超の学習データが)が画面幅の約75%を占めるサイズを維持 */
  #hero h1 {
    --h1-min: 6.2vw;
    letter-spacing: 0.05em;
  }
  /* 「東進のAI」バッジもフォントサイズ連動で縮小 */
  #hero h1 span.inline-flex {
    --badge-h: 1.7em;
  }
}

@media (max-width: 480px) {

  /* ヒーロー見出し: 画面幅の約85%を占めるサイズに拡大して存在感を維持 */
  #hero h1 {
    --h1-min: 7vw;
  }
  /* タグライン(nowrap)を画面幅基準で縮小し見切れを防止 */
  #hero p[data-hero-fade-up].whitespace-nowrap {
    font-size: clamp(12px, min(2.1vh, 3.6vw), 22px) !important;
    letter-spacing: 0.05em;
  }

  /* 採用情報: フィルターボタンを折り返さず横スクロールに */
  #recruit .flex-wrap {
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 4px;
  }
  #recruit .flex-wrap::-webkit-scrollbar {
    display: none;
  }
  #recruit [data-filter] {
    flex-shrink: 0;
    white-space: nowrap;
  }

  /* 採用情報: 職種カード幅を固定値(374px)から画面幅に応じた相対値に */
  #recruit [data-job-card] {
    width: min(374px, calc(100vw - 48px));
  }
}

/* ─── 採用モーダル モバイル最適化 (620px以下 / Figma: 927-115068) ─── */
@media (max-width: 620px) {

  /* モーダルの外側余白をFigma準拠に縮小 */
  #job-detail-modal {
    padding: 16px 24px;
  }
  #job-detail-modal [data-modal-prev],
  #job-detail-modal [data-modal-next] {
    z-index: 30;
  }

  /* ヘッダーバー: ロゴを非表示にし、閉じるボタンのみ右上に固定 */
  #job-detail-modal [data-modal-panel] > .justify-between {
    position: absolute;
    top: 0;
    right: 0;
    left: auto;
    padding: 18px 18px 0 0;
    z-index: 20;
  }
  #job-detail-modal [data-modal-panel] > .justify-between > p {
    display: none;
  }

  /* タイトルブロックを縦積み(タイトル→タグ→応募ボタン)に再構成 */
  #job-detail-modal .shrink-0.px-8 {
    display: flex;
    flex-direction: column;
    padding: 22px 24px 0;
  }
  #job-detail-modal .shrink-0.px-8 > .justify-between {
    display: contents;
  }
  #job-detail-modal [data-modal-title] {
    order: 1;
    font-size: 20px;
    letter-spacing: 0.82px;
    line-height: 1.3;
    margin-bottom: 14px;
    padding-right: 36px;
  }
  #job-detail-modal [data-modal-tags] {
    order: 2;
    margin-bottom: 20px;
  }
  #job-detail-modal [data-modal-tags] span {
    height: 18px;
    font-size: 11px;
    letter-spacing: 0.55px;
  }
  /* 応募ボタン: Figma準拠 170×42px・中央配置 */
  #job-detail-modal a[data-modal-apply].shrink-0 {
    order: 3;
    width: 170px;
    height: 42px;
    margin: 0 auto 24px;
    font-size: 12px;
    letter-spacing: 0.6px;
  }

  /* 本文: 13px / tracking 0.78px (Figma準拠) */
  #job-detail-modal .overflow-y-auto {
    padding-left: 24px;
    padding-right: 24px;
  }
  #job-detail-modal [data-modal-sections] {
    font-size: 13px;
    letter-spacing: 0.78px;
  }
}

/* === CVボタン共通スタイル(index.html・technology.html共通) === */
.btn-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 60px;
  padding: 0 40px;
  border-radius: 1000px;
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 15px;
  letter-spacing: 0.7px;
  color: #fff;
  text-decoration: none;
  white-space: nowrap;
  transition: box-shadow 0.3s ease, transform 0.3s ease;
  cursor: pointer;
}
.btn-cta:hover {
  transform: translateY(-2px);
}
/* ティール(リクルート) */
.btn-cta--teal {
  background: linear-gradient(90deg, #00d1b5, #009480);
  box-shadow: 0 6px 20px rgba(0, 193, 167, 0.3);
  width: 336px;
}
.btn-cta--teal:hover {
  box-shadow: 0 10px 28px rgba(0, 193, 167, 0.45);
}
/* ダーク(お問い合わせ・index.htmlのみ使用) */
.btn-cta--dark {
  background: linear-gradient(90deg, #696969, #292929);
  box-shadow: 0 6px 20px rgba(41, 41, 41, 0.25);
}
.btn-cta--dark:hover {
  box-shadow: 0 10px 28px rgba(41, 41, 41, 0.4);
}
@media (min-width: 481px) {
  .btn-cta--dark { width: 336px; }
}
@media (max-width: 480px) {
  .btn-cta--teal { width: 264px; }
  .btn-cta--dark { width: 264px; }
  .btn-cta { height: 54px; padding: 0 28px; font-size: 14px; }
}
