@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-gradient-position:initial;--tw-gradient-from:#0000;--tw-gradient-via:#0000;--tw-gradient-to:#0000;--tw-gradient-stops:initial;--tw-gradient-via-stops:initial;--tw-gradient-from-position:0%;--tw-gradient-via-position:50%;--tw-gradient-to-position:100%;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}@layer theme{:root,:host{--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-white:#fff;--spacing:.25rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-7xl:80rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75/1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--text-4xl:2.25rem;--text-4xl--line-height:calc(2.5/2.25);--text-5xl:3rem;--text-5xl--line-height:1;--text-6xl:3.75rem;--text-6xl--line-height:1;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-black:900;--tracking-tight:-.025em;--tracking-wide:.025em;--tracking-wider:.05em;--tracking-widest:.1em;--leading-tight:1.25;--leading-relaxed:1.625;--ease-out:cubic-bezier(0,0,.2,1);--animate-spin:spin 1s linear infinite;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-noto-sans-jp),"Noto Sans JP",sans-serif;--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}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;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.pointer-events-none{pointer-events:none}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.inset-0{inset:calc(var(--spacing)*0)}.top-0{top:calc(var(--spacing)*0)}.top-1\/2{top:50%}.top-20{top:calc(var(--spacing)*20)}.right-0{right:calc(var(--spacing)*0)}.right-20{right:calc(var(--spacing)*20)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-1\/2{left:50%}.z-10{z-index:10}.z-50{z-index:50}.z-\[60\]{z-index:60}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-6{margin-inline:calc(var(--spacing)*6)}.mx-auto{margin-inline:auto}.mt-6{margin-top:calc(var(--spacing)*6)}.mt-10{margin-top:calc(var(--spacing)*10)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.mb-6{margin-bottom:calc(var(--spacing)*6)}.mb-10{margin-bottom:calc(var(--spacing)*10)}.mb-12{margin-bottom:calc(var(--spacing)*12)}.mb-16{margin-bottom:calc(var(--spacing)*16)}.mb-20{margin-bottom:calc(var(--spacing)*20)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-8{margin-left:calc(var(--spacing)*8)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-0\.5{height:calc(var(--spacing)*.5)}.h-2{height:calc(var(--spacing)*2)}.h-3{height:calc(var(--spacing)*3)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-12{height:calc(var(--spacing)*12)}.h-14{height:calc(var(--spacing)*14)}.h-20{height:calc(var(--spacing)*20)}.h-\[1px\]{height:1px}.h-\[2px\]{height:2px}.h-auto{height:auto}.h-full{height:100%}.h-px{height:1px}.min-h-\[100dvh\]{min-height:100dvh}.w-0{width:calc(var(--spacing)*0)}.w-1\/2{width:50%}.w-2{width:calc(var(--spacing)*2)}.w-3{width:calc(var(--spacing)*3)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-14{width:calc(var(--spacing)*14)}.w-64{width:calc(var(--spacing)*64)}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-7xl{max-width:var(--container-7xl)}.max-w-\[280px\]{max-width:280px}.max-w-xl{max-width:var(--container-xl)}.flex-1{flex:1}.flex-shrink-0{flex-shrink:0}.-translate-x-1\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-spin{animation:var(--animate-spin)}.cursor-default{cursor:default}.cursor-pointer{cursor:pointer}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-1{gap:calc(var(--spacing)*1)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}.gap-6{gap:calc(var(--spacing)*6)}.gap-8{gap:calc(var(--spacing)*8)}.gap-12{gap:calc(var(--spacing)*12)}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-7>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*7)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*7)*calc(1 - var(--tw-space-y-reverse)))}.overflow-hidden{overflow:hidden}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-\[var\(--border-gray\)\]{border-color:var(--border-gray)}.border-\[var\(--brand-red\)\]{border-color:var(--brand-red)}.border-transparent{border-color:#0000}.bg-\[var\(--border-gray\)\]{background-color:var(--border-gray)}.bg-\[var\(--brand-red\)\]{background-color:var(--brand-red)}.bg-\[var\(--off-white\)\]{background-color:var(--off-white)}.bg-gradient-to-b{--tw-gradient-position:to bottom in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.from-\[var\(--brand-red\)\]{--tw-gradient-from:var(--brand-red);--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.from-transparent{--tw-gradient-from:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.via-\[var\(--brand-red\)\]{--tw-gradient-via:var(--brand-red);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.via-\[var\(--brand-red-light\)\]{--tw-gradient-via:var(--brand-red-light);--tw-gradient-via-stops:var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-via)var(--tw-gradient-via-position),var(--tw-gradient-to)var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-via-stops)}.to-transparent{--tw-gradient-to:transparent;--tw-gradient-stops:var(--tw-gradient-via-stops,var(--tw-gradient-position),var(--tw-gradient-from)var(--tw-gradient-from-position),var(--tw-gradient-to)var(--tw-gradient-to-position))}.fill-\[var\(--brand-red\)\]{fill:var(--brand-red)}.p-5{padding:calc(var(--spacing)*5)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.py-3{padding-block:calc(var(--spacing)*3)}.py-8{padding-block:calc(var(--spacing)*8)}.py-12{padding-block:calc(var(--spacing)*12)}.py-20{padding-block:calc(var(--spacing)*20)}.py-24{padding-block:calc(var(--spacing)*24)}.text-center{text-align:center}.font-display{font-family:var(--font-noto-sans-jp),"Noto Sans JP",sans-serif}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\[0\.65rem\]{font-size:.65rem}.text-\[8px\]{font-size:8px}.text-\[9px\]{font-size:9px}.text-\[10px\]{font-size:10px}.text-\[13px\]{font-size:13px}.text-\[20rem\]{font-size:20rem}.leading-\[1\.1\]{--tw-leading:1.1;line-height:1.1}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.leading-tight{--tw-leading:var(--leading-tight);line-height:var(--leading-tight)}.font-black{--tw-font-weight:var(--font-weight-black);font-weight:var(--font-weight-black)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-\[0\.2em\]{--tw-tracking:.2em;letter-spacing:.2em}.tracking-\[0\.08em\]{--tw-tracking:.08em;letter-spacing:.08em}.tracking-\[0\.15em\]{--tw-tracking:.15em;letter-spacing:.15em}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.tracking-wider{--tw-tracking:var(--tracking-wider);letter-spacing:var(--tracking-wider)}.tracking-widest{--tw-tracking:var(--tracking-widest);letter-spacing:var(--tracking-widest)}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-line{white-space:pre-line}.text-\[var\(--brand-red\)\]{color:var(--brand-red)}.text-\[var\(--text-dark\)\]{color:var(--text-dark)}.text-\[var\(--text-gray\)\]{color:var(--text-gray)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.underline{text-decoration-line:underline}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-20{opacity:.2}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.opacity-\[0\.02\]{opacity:.02}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-400{--tw-duration:.4s;transition-duration:.4s}.duration-700{--tw-duration:.7s;transition-duration:.7s}.duration-1000{--tw-duration:1s;transition-duration:1s}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.group-hover\:w-full:is(:where(.group):hover *){width:100%}.group-hover\:translate-x-1:is(:where(.group):hover *){--tw-translate-x:calc(var(--spacing)*1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:-translate-y-1:is(:where(.group):hover *){--tw-translate-y:calc(var(--spacing)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.group-hover\:scale-110:is(:where(.group):hover *){--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.group-hover\:opacity-100:is(:where(.group):hover *){opacity:1}.hover\:border-\[var\(--brand-red\)\]:hover{border-color:var(--brand-red)}.hover\:bg-white:hover{background-color:var(--color-white)}.hover\:text-\[var\(--brand-red\)\]:hover{color:var(--brand-red)}.hover\:underline:hover{text-decoration-line:underline}.hover\:shadow-lg:hover{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}}@media (min-width:40rem){.sm\:bottom-12{bottom:calc(var(--spacing)*12)}.sm\:mb-12{margin-bottom:calc(var(--spacing)*12)}.sm\:mb-16{margin-bottom:calc(var(--spacing)*16)}.sm\:block{display:block}.sm\:flex{display:flex}.sm\:h-6{height:calc(var(--spacing)*6)}.sm\:h-16{height:calc(var(--spacing)*16)}.sm\:h-24{height:calc(var(--spacing)*24)}.sm\:w-6{width:calc(var(--spacing)*6)}.sm\:w-80{width:calc(var(--spacing)*80)}.sm\:max-w-\[340px\]{max-width:340px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:gap-6{gap:calc(var(--spacing)*6)}.sm\:gap-8{gap:calc(var(--spacing)*8)}.sm\:p-6{padding:calc(var(--spacing)*6)}.sm\:px-6{padding-inline:calc(var(--spacing)*6)}.sm\:py-10{padding-block:calc(var(--spacing)*10)}.sm\:py-28{padding-block:calc(var(--spacing)*28)}.sm\:py-32{padding-block:calc(var(--spacing)*32)}.sm\:pb-24{padding-bottom:calc(var(--spacing)*24)}.sm\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.sm\:text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.sm\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.sm\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.sm\:text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.sm\:text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.sm\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.sm\:text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.sm\:text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}}@media (min-width:48rem){.md\:w-96{width:calc(var(--spacing)*96)}.md\:max-w-\[420px\]{max-width:420px}.md\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.md\:text-4xl{font-size:var(--text-4xl);line-height:var(--tw-leading,var(--text-4xl--line-height))}.md\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}}@media (min-width:64rem){.lg\:col-span-5{grid-column:span 5/span 5}.lg\:col-span-7{grid-column:span 7/span 7}.lg\:mb-20{margin-bottom:calc(var(--spacing)*20)}.lg\:mb-28{margin-bottom:calc(var(--spacing)*28)}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:h-28{height:calc(var(--spacing)*28)}.lg\:w-\[480px\]{width:480px}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:gap-16{gap:calc(var(--spacing)*16)}.lg\:px-12{padding-inline:calc(var(--spacing)*12)}.lg\:py-32{padding-block:calc(var(--spacing)*32)}.lg\:py-40{padding-block:calc(var(--spacing)*40)}.lg\:pt-16{padding-top:calc(var(--spacing)*16)}.lg\:pb-28{padding-bottom:calc(var(--spacing)*28)}.lg\:text-5xl{font-size:var(--text-5xl);line-height:var(--tw-leading,var(--text-5xl--line-height))}.lg\:text-6xl{font-size:var(--text-6xl);line-height:var(--tw-leading,var(--text-6xl--line-height))}}}:root{--white:#fff;--off-white:#fafaf8;--light-gray:#f5f5f3;--border-gray:#e8e8e6;--text-gray:#6b6b6b;--text-dark:#1a1a1a;--brand-red:#c30d23;--brand-red-light:#e8102a;--brand-red-dark:#a00b1d}*{box-sizing:border-box}html{scroll-behavior:smooth;overflow-x:hidden}body{background:var(--white);color:var(--text-dark);font-family:var(--font-noto-sans-jp),"Noto Sans JP",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden}::selection{background:var(--brand-red);color:var(--white)}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--off-white)}::-webkit-scrollbar-thumb{background:var(--brand-red);border-radius:3px}.font-display{font-family:Noto Sans JP,sans-serif}.text-balance{text-wrap:balance}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes pulse-soft{0%,to{opacity:1}50%{opacity:.7}}@keyframes logoCharBounce{0%,to{transform:translateY(0)}40%{transform:translateY(-8px)}60%{transform:translateY(-4px)}80%{transform:translateY(-2px)}}@keyframes logoIconSway{0%,to{transform:rotate(0)}50%{transform:rotate(45deg)}}@keyframes logoIconHop{0%,to{transform:translateY(0)}30%{transform:translateY(-12px)}60%{transform:translateY(0)}85%{transform:translateY(-4px)}}.animated-logo-container{cursor:pointer;padding:.25rem 0}.animated-logo-svg{width:auto;height:7rem}@media (min-width:640px){.animated-logo-svg{height:9rem}}@media (min-width:1024px){.animated-logo-svg{height:11rem}}.animated-logo-icon-group{transform-box:fill-box;transform-origin:50%;transition:transform .4s cubic-bezier(.34,1.56,.64,1)}.animated-logo-container.is-hovered .animated-logo-icon-group{animation:1.4s ease-in-out infinite logoIconSway}.animated-logo-icon-bounce{transform-box:fill-box;transform-origin:50%}.animated-logo-icon-bounce.is-bouncing{animation:.55s ease-out logoIconHop}.animated-logo-char{transform-origin:bottom;transition:transform .3s}.animated-logo-container.is-hovered .animated-logo-char{animation:.5s ease-in-out infinite logoCharBounce;animation-delay:calc(var(--char-index)*50ms)}.animated-logo-container.is-hovered .animated-logo-svg path{filter:drop-shadow(0 2px 4px #c30d2333)}.animate-on-scroll{opacity:0;transition:all .8s cubic-bezier(.16,1,.3,1);transform:translateY(40px)}.animate-on-scroll.visible{opacity:1;transform:translateY(0)}.stagger-1{transition-delay:50ms}.stagger-2{transition-delay:.1s}.stagger-3{transition-delay:.15s}.stagger-4{transition-delay:.2s}.stagger-5{transition-delay:.25s}.stagger-6{transition-delay:.3s}.duration-400{transition-duration:.4s}.btn-primary{letter-spacing:.02em;color:var(--white);background:var(--brand-red);cursor:pointer;border:none;border-radius:0;align-items:center;gap:.75rem;padding:1rem 2rem;font-family:Noto Sans JP,sans-serif;font-size:.875rem;font-weight:600;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative;overflow:hidden}.btn-primary:before{content:"";background:var(--brand-red-dark);width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;transform:translate(-100%)}.btn-primary:hover:before{transform:translate(0)}.btn-primary span{z-index:1;position:relative}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 10px 30px #c30d234d}.btn-outline{letter-spacing:.02em;color:var(--text-dark);border:1px solid var(--border-gray);cursor:pointer;background:0 0;align-items:center;gap:.75rem;padding:1rem 2rem;font-family:Noto Sans JP,sans-serif;font-size:.875rem;font-weight:600;transition:all .3s;display:inline-flex}.btn-outline:hover{border-color:var(--brand-red);color:var(--brand-red)}.card-modern{background:var(--white);border:1px solid var(--border-gray);padding:2.5rem;transition:all .4s cubic-bezier(.16,1,.3,1);position:relative}.card-modern:after{content:"";background:var(--brand-red);width:0;height:2px;transition:width .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0}.card-modern:hover{border-color:#0000;transform:translateY(-4px);box-shadow:0 20px 40px #0000000f}.card-modern:hover:after{width:100%}.section-white{background:var(--white)}.section-off-white{background:var(--off-white)}.link-underline{display:inline-block;position:relative}.link-underline:after{content:"";background:currentColor;width:0;height:1px;transition:width .3s;position:absolute;bottom:-2px;left:0}.link-underline:hover:after{width:100%}.tag{letter-spacing:.05em;text-transform:uppercase;color:var(--brand-red);border:1px solid var(--brand-red);padding:.375rem .875rem;font-family:Noto Sans JP,sans-serif;font-size:.75rem;font-weight:600;display:inline-block}.number-deco{color:var(--light-gray);z-index:0;pointer-events:none;font-family:Noto Sans JP,sans-serif;font-size:8rem;font-weight:800;line-height:1;position:absolute;top:-1rem;left:-1rem}.text-gradient-red{background:linear-gradient(135deg,var(--brand-red),var(--brand-red-light));-webkit-text-fill-color:transparent;-webkit-box-decoration-break:clone;box-decoration-break:clone;-webkit-background-clip:text;background-clip:text;padding-bottom:.1em}#particle-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;top:0;left:0}.hero-overlay{pointer-events:none;background:linear-gradient(#0000 0%,#fffc 100%);position:absolute;inset:0}.divider{background:var(--border-gray);height:1px;margin:0 auto}.input-modern{width:100%;color:var(--text-dark);background:var(--off-white);border:1px solid #0000;padding:1rem;font-family:Noto Sans JP,sans-serif;font-size:1rem;transition:all .3s}.input-modern:focus{border-color:var(--brand-red);background:var(--white);outline:none}.input-modern::placeholder{color:var(--text-gray)}.contact-section{background:var(--off-white)}.contact-intro-section{background:var(--off-white);padding-top:5rem;padding-bottom:3rem}@media (min-width:640px){.contact-intro-section{padding-top:6rem;padding-bottom:4rem}}@media (min-width:1024px){.contact-intro-section{padding-top:8rem;padding-bottom:5rem}}.contact-divider{background:var(--off-white)}.contact-form-section{background:var(--off-white);padding-top:3rem;padding-bottom:4rem}@media (min-width:640px){.contact-form-section{padding-top:4rem;padding-bottom:5rem}}@media (min-width:1024px){.contact-form-section{padding-top:5rem;padding-bottom:6rem}}.contact-header{align-items:flex-start;gap:1.5rem;margin-bottom:2.5rem;display:flex}@media (min-width:640px){.contact-header{gap:2rem;margin-bottom:3rem}}.contact-vertical{writing-mode:vertical-rl;text-orientation:mixed;border-left:2px solid var(--brand-red);padding-left:.75rem;position:relative}.contact-jp{letter-spacing:.1em;color:var(--brand-red);font-family:Noto Sans JP,sans-serif;font-size:.875rem;font-weight:700}.contact-title-area{flex-direction:column;padding-top:.25rem;display:flex}.contact-en{color:var(--text-dark);font-family:Noto Sans JP,sans-serif;font-size:2rem;font-weight:700;line-height:1.2}@media (min-width:640px){.contact-en{font-size:2.5rem}}@media (min-width:768px){.contact-en{font-size:3rem}}.contact-en-sub{letter-spacing:-.02em;color:var(--text-dark);font-family:Noto Sans JP,sans-serif;font-size:1.75rem;font-weight:800}@media (min-width:640px){.contact-en-sub{font-size:2.25rem}}.contact-underline{background:linear-gradient(90deg,var(--brand-red)0%,transparent 100%);width:4rem;height:4px;margin-top:.5rem}@media (min-width:640px){.contact-underline{width:5rem}}.contact-form-card-light{background:var(--white);border:1px solid var(--border-gray);padding:2rem;transition:box-shadow .4s;position:relative;box-shadow:0 1px 3px #0000000a,0 8px 24px #0000000a}.contact-form-card-light:hover{box-shadow:0 1px 3px #0000000a,0 12px 32px #0000000f}.contact-form-card-light:before{content:"";background:var(--brand-red);width:4px;height:100%;position:absolute;top:0;left:0}@media (min-width:640px){.contact-form-card-light{padding:2.5rem}}@media (min-width:1024px){.contact-form-card-light{padding:3rem}}.contact-input-group-light{position:relative}.contact-label-light{letter-spacing:.08em;text-transform:uppercase;color:var(--text-dark);margin-bottom:.625rem;font-family:Noto Sans JP,sans-serif;font-size:.75rem;font-weight:600;display:block}.contact-input-light{width:100%;color:var(--text-dark);background:var(--off-white);border:1px solid #0000;border-radius:6px;outline:none;padding:.875rem 1rem;font-family:Noto Sans JP,sans-serif;font-size:1rem;transition:all .25s}.contact-input-light:hover{background:var(--light-gray)}.contact-input-light:focus{background:var(--white);border-color:var(--brand-red);box-shadow:0 0 0 3px #c30d2314}.contact-input-light::placeholder{color:var(--text-gray);transition:color .25s}.contact-input-light:focus::placeholder{color:#999}.contact-textarea-light{resize:none;min-height:140px;line-height:1.7}.contact-input-error{animation:.5s cubic-bezier(.36,.07,.19,.97) contact-shake;border:1px solid var(--brand-red)!important;background:#c30d230a!important}@keyframes contact-shake{0%,to{transform:translate(0)}12.5%{transform:translate(-6px)}25%{transform:translate(5px)}37.5%{transform:translate(-4px)}50%{transform:translate(3px)}62.5%{transform:translate(-2px)}75%{transform:translate(1px)}}.contact-field-error{border-left:3px solid var(--brand-red);opacity:0;pointer-events:none;background:#c30d230f;align-items:center;gap:.5rem;max-height:0;margin-top:.625rem;padding:.5rem .75rem;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden;transform:translateY(-4px)}.contact-field-error--visible{opacity:1;pointer-events:auto;max-height:60px;transform:translateY(0)}.contact-field-error svg{color:var(--brand-red);flex-shrink:0}.contact-field-error span{color:var(--brand-red);font-family:Noto Sans JP,sans-serif;font-size:.8125rem;font-weight:500;line-height:1.4}.contact-ai-actions{align-items:center;gap:.5rem;display:flex}.contact-ai-btn,.contact-ai-undo-btn{letter-spacing:.04em;cursor:pointer;border:1px solid #0000;border-radius:999px;padding:.4rem .85rem;font-family:Noto Sans JP,sans-serif;font-size:.7rem;font-weight:600;transition:all .25s}.contact-ai-btn{color:var(--brand-red);background:#c30d2314;border-color:#c30d2359}.contact-ai-btn:hover{color:#fff;background:var(--brand-red);transform:translateY(-1px);box-shadow:0 8px 20px #c30d2333}.contact-ai-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;background:#c30d230a;border-color:#c30d2333;transform:none}.contact-ai-undo-btn{color:var(--text-gray);background:var(--white);border-color:var(--border-gray)}.contact-ai-undo-btn:hover{color:var(--text-dark);border-color:var(--text-gray);transform:translateY(-1px)}.contact-ai-undo-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.contact-ai-note{color:var(--text-gray);margin-top:.75rem;font-family:Noto Sans JP,sans-serif;font-size:.75rem;line-height:1.6}.contact-ai-error{color:var(--brand-red);margin-top:.5rem;font-family:Noto Sans JP,sans-serif;font-size:.75rem;font-weight:500}:root{--ai-purple:#8b5cf6;--ai-purple-light:#a78bfa;--ai-blue:#3b82f6;--ai-indigo:#6366f1;--ai-cyan:#06b6d4;--ai-gradient:linear-gradient(135deg,#8b5cf6 0%,#6366f1 50%,#3b82f6 100%);--ai-gradient-vivid:linear-gradient(135deg,#a78bfa 0%,#818cf8 25%,#6366f1 50%,#3b82f6 75%,#06b6d4 100%);--ai-gradient-light:linear-gradient(135deg,#8b5cf614 0%,#6366f114 50%,#3b82f614 100%);--ai-success:#22c55e;--ai-success-light:#4ade80}.ai-form-container{position:relative}.ai-form-container.ai-burst:before{content:"";pointer-events:none;z-index:10;background:radial-gradient(#8b5cf666 0%,#6366f133 40%,#0000 70%);border-radius:20px;animation:.6s ease-out forwards ai-burst-flash;position:absolute;inset:-20px}@keyframes ai-burst-flash{0%{opacity:0;transform:scale(.8)}30%{opacity:1;transform:scale(1.05)}to{opacity:0;transform:scale(1.2)}}.ai-form-container.ai-success-burst:before{content:"";pointer-events:none;z-index:10;background:radial-gradient(#22c55e80 0%,#4ade804d 40%,#0000 70%);border-radius:20px;animation:.8s ease-out forwards ai-success-burst;position:absolute;inset:-20px}@keyframes ai-success-burst{0%{opacity:0;transform:scale(.9)}20%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.ai-textarea-enhanced{isolation:isolate;position:relative}.ai-textarea-enhanced:before{content:"";opacity:0;z-index:-1;pointer-events:none;background:linear-gradient(90deg,#8b5cf6 0%,#6366f1 15%,#3b82f6 30%,#06b6d4 45%,#3b82f6 60%,#6366f1 75%,#8b5cf6 90%,#a78bfa 100%) 0 0/200% 100%;border-radius:9px;transition:opacity .4s;position:absolute;inset:-3px}.ai-textarea-enhanced:after{content:"";z-index:-1;pointer-events:none;background:#fff;border-radius:6px;position:absolute;inset:0}.ai-wave-overlay{pointer-events:none;opacity:0;border-radius:6px;transition:opacity .4s;position:absolute;inset:0;overflow:hidden}.ai-wave-overlay:before{content:"";background:linear-gradient(110deg,#0000 0%,#8b5cf638 20%,#6366f14d 40%,#3b82f638 60%,#06b6d442 80%,#0000 100%) 0 0/200% 100%;animation:2s ease-in-out infinite ai-wave-flow;position:absolute;inset:0}.ai-wave-overlay:after{content:"";background:linear-gradient(-110deg,#0000 0%,#a78bfa33 25%,#818cf847 50%,#60a5fa33 75%,#0000 100%) 0 0/200% 100%;animation:2.5s ease-in-out .5s infinite ai-wave-flow-reverse;position:absolute;inset:0}@keyframes ai-wave-flow{0%{opacity:.5;background-position:100% 0}50%{opacity:1}to{opacity:.5;background-position:-100% 0}}@keyframes ai-wave-flow-reverse{0%{opacity:.3;background-position:-100% 0}50%{opacity:.8}to{opacity:.3;background-position:100% 0}}.ai-textarea-enhanced.ai-processing:before,.ai-textarea-enhanced.ai-typewriting:before{opacity:1;animation:1.5s ease-in-out infinite ai-border-wave}.ai-processing .ai-wave-overlay,.ai-typewriting .ai-wave-overlay{opacity:1}@keyframes ai-border-wave{0%{filter:brightness();background-position:0%}25%{filter:brightness(1.1)}50%{filter:brightness(1.2);background-position:100%}75%{filter:brightness(1.1)}to{filter:brightness();background-position:0%}}.ai-textarea-enhanced.ai-typewriting:before{animation:1.2s ease-in-out infinite ai-border-wave,.6s ease-in-out infinite ai-glow-pulse}@keyframes ai-glow-pulse{0%,to{box-shadow:0 0 20px #8b5cf64d}50%{box-shadow:0 0 35px #6366f180}}.ai-textarea-enhanced.ai-complete:before{background:linear-gradient(90deg,var(--ai-success)0%,var(--ai-success-light)50%,var(--ai-success)100%);opacity:1;background-size:200% 100%;animation:.8s ease-out forwards ai-success-sweep}.ai-textarea-enhanced.ai-complete .ai-wave-overlay{opacity:0}@keyframes ai-success-sweep{0%{opacity:1;background-position:100% 0}60%{opacity:1;background-position:0 0}to{opacity:0;background-position:0 0}}textarea.contact-input-light.ai-generating-text{color:var(--text-gray)}.ai-action-bar{background:var(--ai-gradient-light);border:1px solid #8b5cf626;border-radius:10px;justify-content:space-between;align-items:center;gap:1rem;margin-top:.75rem;padding:.75rem 1rem;transition:all .3s;display:flex;position:relative;overflow:hidden}.ai-action-bar.ai-processing-state:before{content:"";background:linear-gradient(90deg,#0000,#8b5cf626,#0000);width:100%;height:100%;animation:1.5s ease-in-out infinite ai-bar-shimmer;position:absolute;top:0;left:-100%}@keyframes ai-bar-shimmer{0%{left:-100%}to{left:100%}}.ai-action-bar-left{flex:1;align-items:center;gap:.625rem;min-width:0;display:flex}.ai-action-bar-icon{width:20px;height:20px;color:var(--ai-purple);flex-shrink:0}.ai-action-bar-text{color:var(--text-gray);font-family:Noto Sans JP,sans-serif;font-size:.8rem;line-height:1.4}.ai-action-bar-text strong{color:var(--ai-purple);font-weight:600}.ai-proofread-btn{color:#fff;background:var(--ai-gradient);cursor:pointer;white-space:nowrap;border:none;border-radius:8px;flex-shrink:0;align-items:center;gap:.5rem;padding:.625rem 1.125rem;font-family:Noto Sans JP,sans-serif;font-size:.8rem;font-weight:600;transition:all .3s cubic-bezier(.4,0,.2,1);display:inline-flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #8b5cf640}.ai-proofread-btn:before{content:"";opacity:0;background:linear-gradient(135deg,#a78bfa 0%,#818cf8 50%,#60a5fa 100%);transition:opacity .3s;position:absolute;inset:0}.ai-proofread-btn:after{content:"";background:linear-gradient(45deg,#0000 30%,#fff6 50%,#0000 70%);width:200%;height:200%;position:absolute;top:-50%;left:-50%;transform:translate(-100%)}.ai-proofread-btn:hover:before{opacity:1}.ai-proofread-btn:hover:after{animation:.6s ease-out ai-btn-shimmer}.ai-proofread-btn:hover{transform:translateY(-2px)scale(1.02);box-shadow:0 6px 20px #8b5cf666}.ai-proofread-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:0 2px 8px #8b5cf626}.ai-proofread-btn:disabled:hover:before,.ai-proofread-btn:disabled:hover:after{opacity:0;animation:none}@keyframes ai-btn-shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.ai-proofread-btn-content{z-index:1;align-items:center;gap:.5rem;display:flex;position:relative}.ai-proofread-btn-icon{width:16px;height:16px;transition:transform .3s}.ai-proofread-btn:hover:not(:disabled) .ai-proofread-btn-icon{animation:.6s ease-in-out ai-icon-spin}@keyframes ai-icon-spin{0%{transform:rotate(0)scale(1)}50%{transform:rotate(180deg)scale(1.3)}to{transform:rotate(360deg)scale(1)}}.ai-action-bar.ai-processing-state{background:linear-gradient(135deg,#8b5cf61f 0%,#6366f11f 50%,#3b82f61f 100%);border-color:#8b5cf64d}.ai-processing-indicator{flex:1;align-items:center;gap:.75rem;min-width:0;display:flex}.ai-processing-dots{align-items:center;gap:4px;display:flex}.ai-processing-dot{background:var(--ai-gradient);border-radius:50%;width:8px;height:8px;animation:1.2s ease-in-out infinite ai-dot-wave}.ai-processing-dot:nth-child(2){animation-delay:.15s}.ai-processing-dot:nth-child(3){animation-delay:.3s}@keyframes ai-dot-wave{0%,60%,to{opacity:.6;transform:translateY(0)scale(1)}30%{opacity:1;transform:translateY(-8px)scale(1.2)}}.ai-processing-text{color:var(--ai-purple);white-space:nowrap;text-overflow:ellipsis;font-family:Noto Sans JP,sans-serif;font-size:.8rem;font-weight:500;animation:1.5s ease-in-out infinite ai-text-pulse;overflow:hidden}@keyframes ai-text-pulse{0%,to{opacity:.7}50%{opacity:1}}.ai-stop-btn{cursor:pointer;background:#8b5cf61f;border:1px solid #8b5cf659;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;transition:all .25s;display:inline-flex;position:relative;box-shadow:0 4px 12px #8b5cf633}.ai-stop-btn:hover{background:var(--ai-gradient);transform:translateY(-1px);box-shadow:0 8px 18px #6366f159}.ai-stop-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;transform:none}.ai-stop-icon{background:var(--ai-purple);border-radius:3px;width:12px;height:12px;transition:background .25s}.ai-stop-btn:hover .ai-stop-icon{background:#fff}.ai-action-bar.ai-success-state{background:linear-gradient(135deg,#22c55e1f 0%,#4ade8014 100%);border-color:#22c55e4d;animation:.5s ease-out ai-success-bar-flash}@keyframes ai-success-bar-flash{0%{background:linear-gradient(135deg,#22c55e66 0%,#4ade804d 100%)}to{background:linear-gradient(135deg,#22c55e1f 0%,#4ade8014 100%)}}.ai-success-indicator{flex:1;align-items:center;gap:.625rem;display:flex}.ai-success-icon{width:22px;height:22px;color:var(--ai-success);animation:.5s ease-out forwards ai-check-draw}@keyframes ai-check-draw{0%{opacity:0;transform:scale(0)rotate(-45deg)}50%{opacity:1;transform:scale(1.3)rotate(0)}to{opacity:1;transform:scale(1)rotate(0)}}.ai-success-text{color:var(--ai-success);font-family:Noto Sans JP,sans-serif;font-size:.85rem;font-weight:600;animation:.4s ease-out forwards ai-text-slide-in}@keyframes ai-text-slide-in{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}.ai-undo-btn{color:var(--text-gray);border:1px solid var(--border-gray);cursor:pointer;background:#fff;border-radius:6px;align-items:center;gap:.375rem;padding:.4rem .85rem;font-family:Noto Sans JP,sans-serif;font-size:.75rem;font-weight:500;transition:all .2s;animation:.3s ease-out .2s backwards ai-fade-in;display:inline-flex}@keyframes ai-fade-in{0%{opacity:0;transform:translate(10px)}to{opacity:1;transform:translate(0)}}.ai-undo-btn:hover{color:var(--text-dark);border-color:var(--ai-purple);background:#8b5cf60d;transform:translate(-2px)}.ai-undo-btn svg{width:14px;height:14px;transition:transform .3s}.ai-undo-btn:hover svg{transform:rotate(-45deg)}.ai-typewriter-active{caret-color:var(--ai-purple);animation:.5s ease-in-out infinite alternate ai-textarea-glow}@keyframes ai-textarea-glow{0%{box-shadow:inset 0 0 0 1px #8b5cf633}to{box-shadow:inset 0 0 0 1px #8b5cf680,inset 0 0 20px #8b5cf60d}}.ai-action-bar.ai-error-state{background:#ef444414;border-color:#ef444433;animation:.5s ease-out ai-error-shake}@keyframes ai-error-shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-4px)}80%{transform:translate(4px)}}.ai-error-text{color:#dc2626;flex:1;font-family:Noto Sans JP,sans-serif;font-size:.8rem}.ai-reasoning-panel{background:linear-gradient(135deg,#8b5cf60f 0%,#6366f10a 50%,#a855f70f 100%);border:1px solid #8b5cf626;border-radius:12px;margin-top:.75rem;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards ai-reasoning-appear;position:relative;overflow:hidden}@keyframes ai-reasoning-appear{0%{opacity:0;transform:translateY(-10px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.ai-reasoning-panel:before{content:"";opacity:0;pointer-events:none;background-image:radial-gradient(circle at 20% 30%,#8b5cf614 0%,#0000 50%),radial-gradient(circle at 80% 70%,#a855f714 0%,#0000 50%),radial-gradient(circle,#6366f10d 0%,#0000 70%);animation:.8s ease-out .3s forwards ai-reasoning-bg-fade;position:absolute;inset:0}@keyframes ai-reasoning-bg-fade{to{opacity:1}}.ai-reasoning-header{cursor:pointer;z-index:1;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:.875rem 1rem;transition:all .25s;display:flex;position:relative}.ai-reasoning-header:hover{background:#8b5cf60d}.ai-reasoning-header-left{align-items:center;gap:.75rem;display:flex}.ai-reasoning-neural-icon{justify-content:center;align-items:center;width:28px;height:28px;display:flex;position:relative}.ai-reasoning-neural-icon svg{width:22px;height:22px;color:var(--ai-purple);z-index:2;animation:3s ease-in-out infinite ai-neural-icon-breathe;position:relative}@keyframes ai-neural-icon-breathe{0%,to{opacity:.9;transform:scale(1)}50%{opacity:1;transform:scale(1.08)}}.ai-neural-pulse{border:1.5px solid #8b5cf666;border-radius:50%;animation:2.5s ease-out infinite ai-pulse-ring;position:absolute;inset:-4px}.ai-neural-pulse-delayed{animation-delay:1.25s}@keyframes ai-pulse-ring{0%{opacity:.8;transform:scale(.8)}to{opacity:0;transform:scale(1.8)}}.ai-reasoning-title{color:var(--ai-purple);letter-spacing:.02em;font-family:Noto Sans JP,sans-serif;font-size:.85rem;font-weight:600}.ai-reasoning-header-right{align-items:center;gap:.625rem;display:flex}.ai-reasoning-badge{text-transform:uppercase;letter-spacing:.08em;color:var(--ai-purple);background:linear-gradient(135deg,#8b5cf626 0%,#a855f71a 100%);border:1px solid #8b5cf633;border-radius:4px;padding:.25rem .5rem;font-family:JetBrains Mono,SF Mono,Consolas,monospace;font-size:.65rem;font-weight:500}.ai-reasoning-chevron{width:18px;height:18px;color:var(--ai-purple);opacity:.7;transition:all .35s cubic-bezier(.34,1.56,.64,1)}.ai-reasoning-chevron-up{transform:rotate(180deg)}.ai-reasoning-header:hover .ai-reasoning-chevron{opacity:1}.ai-reasoning-content-wrapper{grid-template-rows:0fr;transition:grid-template-rows .4s cubic-bezier(.34,1.56,.64,1);display:grid}.ai-reasoning-expanded .ai-reasoning-content-wrapper{grid-template-rows:1fr}.ai-reasoning-content{min-height:0;position:relative;overflow:hidden}.ai-reasoning-expanded .ai-reasoning-content{padding:0 1rem 1rem}.ai-reasoning-glow{opacity:0;background:linear-gradient(90deg,#0000,#8b5cf680,#a855f780,#8b5cf680,#0000);height:1px;transition:opacity .3s;position:absolute;top:0;left:1rem;right:1rem}.ai-reasoning-expanded .ai-reasoning-glow{opacity:1;animation:3s ease-in-out infinite ai-glow-shimmer}@keyframes ai-glow-shimmer{0%,to{background-position:-200%}50%{background-position:200%}}.ai-reasoning-text{color:var(--text-gray);opacity:0;white-space:pre-wrap;word-break:break-word;padding-top:.75rem;font-family:Noto Sans JP,sans-serif;font-size:.8rem;line-height:1.75;transition:all .3s .1s;position:relative;transform:translateY(-5px)}.ai-reasoning-expanded .ai-reasoning-text{opacity:1;transform:translateY(0)}.ai-reasoning-cursor{background:var(--ai-purple);vertical-align:text-bottom;width:2px;height:1.1em;margin-left:2px;animation:.8s ease-in-out infinite ai-cursor-blink;display:inline-block}@keyframes ai-cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.ai-reasoning-typing{text-shadow:0 0 20px #8b5cf61a}.ai-reasoning-fade{pointer-events:none;opacity:0;background:linear-gradient(#0000,#ffffffe6);height:30px;position:absolute;bottom:0;left:0;right:0}.ai-reasoning-panel:has(.ai-reasoning-text:not(:empty)) .ai-reasoning-fade{opacity:0}.ai-reasoning-panel:hover{border-color:#8b5cf640;box-shadow:0 4px 20px #8b5cf614}.ai-reasoning-expanded{background:linear-gradient(135deg,#8b5cf614 0%,#6366f10d 50%,#a855f714 100%);border-color:#8b5cf640}.ai-reasoning-expanded:after{content:"";background:linear-gradient(to bottom,var(--ai-purple),#a855f780,transparent);border-radius:0 2px 2px 0;width:3px;height:0;animation:.4s ease-out .2s forwards ai-line-grow;position:absolute;top:50%;left:0}@keyframes ai-line-grow{to{height:calc(100% - 60px);top:50px}}@media (max-width:640px){.ai-reasoning-panel{margin-top:.625rem}.ai-reasoning-header{padding:.75rem}.ai-reasoning-title{font-size:.8rem}.ai-reasoning-badge{padding:.2rem .4rem;font-size:.6rem}.ai-reasoning-text{font-size:.75rem;line-height:1.7}.ai-reasoning-neural-icon{width:24px;height:24px}.ai-reasoning-neural-icon svg{width:18px;height:18px}}.ai-completion-swoosh{pointer-events:none;border-radius:6px;position:absolute;inset:0;overflow:hidden}.ai-completion-swoosh:before{content:"";background:linear-gradient(90deg,#0000,#22c55e8c,#4ade8073,#0000);width:50%;height:100%;animation:.6s ease-out forwards ai-swoosh-right;position:absolute;top:0;left:-100%}@keyframes ai-swoosh-right{0%{left:-50%}to{left:150%}}.contact-submit-btn-light{letter-spacing:.04em;color:#fff;background:var(--brand-red);cursor:pointer;border:none;width:100%;padding:1.125rem 2rem;font-family:Noto Sans JP,sans-serif;font-size:.9rem;font-weight:600;transition:all .35s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.contact-submit-btn-light:before{content:"";background:var(--brand-red-dark);width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;transform:translate(-100%)}.contact-submit-btn-light:hover:before{transform:translate(0)}.contact-submit-btn-light:hover{transform:translateY(-2px);box-shadow:0 10px 30px #c30d2340}.contact-submit-btn-light:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.contact-submit-btn-light:disabled:hover:before{transform:translate(-100%)}@keyframes marquee{0%{transform:translate(0)}to{transform:translate(-50%)}}.marquee-track{animation:30s linear infinite marquee;display:flex}.tech-marquee-container{cursor:default;background:var(--off-white);background-image:repeating-linear-gradient(-45deg,#0000,#0000 10px,#e8e8e64d 10px 11px);position:relative}.tech-marquee-accent-line{background:linear-gradient(90deg,transparent 0%,var(--border-gray)10%,var(--brand-red)30%,var(--brand-red)70%,var(--border-gray)90%,transparent 100%);opacity:.6;height:1px}.tech-marquee-container:before,.tech-marquee-container:after{content:"";z-index:10;pointer-events:none;width:120px;position:absolute;top:0;bottom:0}.tech-marquee-container:before{background:linear-gradient(90deg,var(--off-white)0%,transparent 100%);left:0}.tech-marquee-container:after{background:linear-gradient(-90deg,var(--off-white)0%,transparent 100%);right:0}.tech-marquee-wrapper{width:max-content;animation:25s linear infinite marquee-scroll;display:flex}.tech-marquee-wrapper.paused{animation-play-state:paused}@keyframes marquee-scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.tech-marquee-track{flex-shrink:0;align-items:center;gap:2rem;padding:0 1rem;display:flex}@media (min-width:640px){.tech-marquee-track{gap:3rem;padding:0 1.5rem}}.tech-item{align-items:center;padding:.75rem 0;transition:all .4s cubic-bezier(.16,1,.3,1);display:inline-flex;position:relative}.tech-item:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(#c30d230f 0%,#0000 70%);border-radius:12px;transition:opacity .4s;position:absolute;inset:-8px -20px}.tech-item:hover:before,.tech-item.active:before{opacity:1}.tech-item:hover,.tech-item.active{transform:scale(1.08)}.tech-item:hover .tech-name,.tech-item.active .tech-name{text-shadow:0 2px 20px #c30d2333;color:var(--brand-red)!important}.tech-item-featured .tech-name{position:relative}.tech-item-featured:hover .tech-name:after,.tech-item-featured.active .tech-name:after{content:"";background:var(--brand-red);width:100%;height:2px;animation:.3s forwards expandLine;position:absolute;bottom:-4px;left:0}@keyframes expandLine{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.tech-icon-wrapper{opacity:0;justify-content:center;align-items:center;width:28px;height:28px;margin-right:10px;transition:all .4s cubic-bezier(.34,1.56,.64,1);display:flex;transform:scale(.5)rotate(-20deg)}.tech-item:hover .tech-icon-wrapper,.tech-item.active .tech-icon-wrapper{opacity:1;transform:scale(1)rotate(0)}.tech-icon{width:100%;height:100%;color:var(--text-gray);transition:all .3s}.tech-item:hover .tech-icon,.tech-item.active .tech-icon{color:var(--brand-red)}.tech-icon-llm .tech-icon-path{stroke-dasharray:20;stroke-dashoffset:20px;transition:stroke-dashoffset .5s}.tech-item:hover .tech-icon-llm .tech-icon-path,.tech-item.active .tech-icon-llm .tech-icon-path{stroke-dashoffset:0;animation:1.5s ease-in-out infinite typeText}@keyframes typeText{0%,to{stroke-dashoffset:0}50%{stroke-dashoffset:10px}}.tech-icon-llm .tech-icon-dot-pulse{opacity:0;animation:none}.tech-item:hover .tech-icon-llm .tech-icon-dot-pulse,.tech-item.active .tech-icon-llm .tech-icon-dot-pulse{animation:.8s ease-in-out infinite cursorBlink}@keyframes cursorBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(1.3)}}.tech-icon-sd .tech-icon-pixel{transition:all .3s}.tech-item:hover .tech-icon-sd .tech-icon-pixel,.tech-item.active .tech-icon-sd .tech-icon-pixel{animation:2s ease-in-out infinite pixelDiffuse}.tech-item:hover .tech-icon-sd .tech-icon-pixel:first-child,.tech-item.active .tech-icon-sd .tech-icon-pixel:first-child{animation-delay:0s}.tech-item:hover .tech-icon-sd .tech-icon-pixel:nth-child(2),.tech-item.active .tech-icon-sd .tech-icon-pixel:nth-child(2){animation-delay:.1s}.tech-item:hover .tech-icon-sd .tech-icon-pixel:nth-child(3),.tech-item.active .tech-icon-sd .tech-icon-pixel:nth-child(3){animation-delay:.2s}.tech-item:hover .tech-icon-sd .tech-icon-pixel:nth-child(4),.tech-item.active .tech-icon-sd .tech-icon-pixel:nth-child(4){animation-delay:.3s}.tech-item:hover .tech-icon-sd .tech-icon-pixel:nth-child(5),.tech-item.active .tech-icon-sd .tech-icon-pixel:nth-child(5){animation-delay:.4s}.tech-item:hover .tech-icon-sd .tech-icon-pixel:nth-child(6),.tech-item.active .tech-icon-sd .tech-icon-pixel:nth-child(6){animation-delay:.5s}.tech-item:hover .tech-icon-sd .tech-icon-pixel:nth-child(7),.tech-item.active .tech-icon-sd .tech-icon-pixel:nth-child(7){animation-delay:.6s}.tech-item:hover .tech-icon-sd .tech-icon-pixel:nth-child(8),.tech-item.active .tech-icon-sd .tech-icon-pixel:nth-child(8){animation-delay:.7s}.tech-item:hover .tech-icon-sd .tech-icon-pixel:nth-child(9),.tech-item.active .tech-icon-sd .tech-icon-pixel:nth-child(9){animation-delay:.8s}@keyframes pixelDiffuse{0%,to{opacity:.3;transform:scale(1)}25%{opacity:1;fill:var(--brand-red);transform:scale(1.1)}50%{opacity:.6;transform:scale(.9)}75%{opacity:.9;transform:scale(1.05)}}.tech-icon-unity{transform-style:preserve-3d;perspective:100px}.tech-item:hover .tech-icon-unity,.tech-item.active .tech-icon-unity{animation:3s ease-in-out infinite cubeRotate}@keyframes cubeRotate{0%,to{transform:rotateY(0)rotateX(0)}25%{transform:rotateY(15deg)rotateX(5deg)}50%{transform:rotateY(0)rotateX(10deg)}75%{transform:rotateY(-15deg)rotateX(5deg)}}.tech-item:hover .tech-icon-unity .tech-icon-cube-front,.tech-item.active .tech-icon-unity .tech-icon-cube-front{stroke:var(--brand-red)}.tech-icon-unreal .tech-icon-core{transform-origin:50%;transition:all .3s}.tech-item:hover .tech-icon-unreal .tech-icon-core,.tech-item.active .tech-icon-unreal .tech-icon-core{filter:drop-shadow(0 0 6px var(--brand-red));animation:1.5s ease-in-out infinite coreGlow}@keyframes coreGlow{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.5)}}.tech-item:hover .tech-icon-unreal .tech-icon-ring,.tech-item.active .tech-icon-unreal .tech-icon-ring{stroke:var(--brand-red);animation:2s ease-in-out infinite ringPulse}@keyframes ringPulse{0%,to{stroke-width:1.5px;opacity:1}50%{stroke-width:2.5px;opacity:.6}}.tech-icon-genai .tech-icon-spark{transform-origin:50%}.tech-item:hover .tech-icon-genai .tech-icon-spark,.tech-item.active .tech-icon-genai .tech-icon-spark{animation:.8s ease-in-out infinite sparkle}@keyframes sparkle{0%,to{opacity:1;transform:scale(1)rotate(0)}50%{opacity:.7;transform:scale(1.3)rotate(90deg)}}.tech-item:hover .tech-icon-genai .tech-icon-brain,.tech-item.active .tech-icon-genai .tech-icon-brain{stroke:var(--brand-red);filter:drop-shadow(0 0 4px #c30d2380)}.tech-item:hover .tech-icon-vr .tech-icon-lens,.tech-item.active .tech-icon-vr .tech-icon-lens{fill:#c30d2333;animation:1s ease-in-out infinite alternate lensFocus}@keyframes lensFocus{0%{r:2.5}to{r:3}}.tech-item:hover .tech-icon-mr,.tech-item.active .tech-icon-mr{animation:2s ease-in-out infinite mrShift}@keyframes mrShift{0%,to{filter:hue-rotate()}50%{filter:hue-rotate(20deg)}}.tech-item:hover .tech-icon-ar .tech-icon-ar-box,.tech-item.active .tech-icon-ar .tech-icon-ar-box{animation:1.5s ease-in-out infinite arPop}@keyframes arPop{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.15)translateY(-2px)}}.tech-item:hover .tech-icon-robot .tech-icon-eye,.tech-item.active .tech-icon-robot .tech-icon-eye{animation:2s ease-in-out infinite robotBlink}@keyframes robotBlink{0%,90%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}.tech-item:hover .tech-icon-robot .tech-icon-antenna,.tech-item.active .tech-icon-robot .tech-icon-antenna{animation:.5s ease-in-out infinite antennaWiggle}@keyframes antennaWiggle{0%,to{transform:rotate(0)}25%{transform:rotate(5deg)}75%{transform:rotate(-5deg)}}.tech-item:hover .tech-icon-projection .tech-icon-beam,.tech-item.active .tech-icon-projection .tech-icon-beam{animation:1s ease-in-out infinite beamProject}@keyframes beamProject{0%,to{opacity:.3;transform:scaleX(1)}50%{opacity:.6;transform:scaleX(1.1)}}.tech-item:hover .tech-icon-projection .tech-icon-beam-line,.tech-item.active .tech-icon-projection .tech-icon-beam-line{animation:.5s linear infinite beamDash}@keyframes beamDash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-4px}}.tech-item:hover .tech-icon-3dcg,.tech-item.active .tech-icon-3dcg{animation:4s linear infinite rotate3d}@keyframes rotate3d{0%{transform:rotateY(0)}to{transform:rotateY(360deg)}}.tech-item:hover .tech-icon-gatebox .tech-icon-hologram,.tech-item.active .tech-icon-gatebox .tech-icon-hologram{animation:.3s ease-in-out infinite hologramFlicker}@keyframes hologramFlicker{0%,to{opacity:1;stroke-dashoffset:0}50%{opacity:.5;stroke-dashoffset:3px}}.tech-item:hover .tech-icon-gatebox .tech-icon-cylinder,.tech-item.active .tech-icon-gatebox .tech-icon-cylinder{stroke:var(--brand-red);filter:drop-shadow(0 0 4px #c30d2366)}.tech-dot-wrapper{flex-shrink:0;justify-content:center;align-items:center;margin-left:1.5rem;display:flex;position:relative}@media (min-width:640px){.tech-dot-wrapper{margin-left:2.5rem}}.tech-dot{background:var(--border-gray);border-radius:50%;width:5px;height:5px;transition:all .3s}.tech-dot-ring{border:1px solid var(--brand-red);opacity:0;border-radius:50%;width:16px;height:16px;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:absolute;transform:scale(.5)}.tech-item:hover .tech-dot,.tech-item.active .tech-dot{background:var(--brand-red);transform:scale(1.5);box-shadow:0 0 12px #c30d2366}.tech-item:hover .tech-dot-ring,.tech-item.active .tech-dot-ring{opacity:.4;animation:1.5s ease-out infinite dotRingPulse;transform:scale(1)}@keyframes dotRingPulse{0%{opacity:.4;transform:scale(1)}to{opacity:0;transform:scale(2)}}.tech-item-featured:hover,.tech-item-featured.active{filter:drop-shadow(0 0 16px #c30d2326)}@media (max-width:640px){.tech-marquee-wrapper{animation:15s linear infinite marquee-scroll}.tech-marquee-track{gap:1.25rem;padding:0 .625rem}.tech-marquee-container:before,.tech-marquee-container:after{width:40px}.tech-marquee-accent-line{opacity:.4}.tech-icon-wrapper{width:18px;height:18px;margin-right:5px}.tech-dot-wrapper{margin-left:1.25rem}.tech-dot{width:4px;height:4px}.tech-dot-ring{width:12px;height:12px}}@media (max-width:768px) and (min-width:641px){.tech-marquee-wrapper{animation:20s linear infinite marquee-scroll}.tech-marquee-container:before,.tech-marquee-container:after{width:80px}}.grid-pattern{background-image:linear-gradient(var(--border-gray)1px,transparent 1px),linear-gradient(90deg,var(--border-gray)1px,transparent 1px);background-size:80px 80px}.nav-header{background:0 0}.nav-header.nav-scrolled{-webkit-backdrop-filter:blur(20px)saturate(180%);background:#ffffffeb;box-shadow:0 1px #0000000a,0 4px 20px #00000008}.nav-header.nav-menu-open{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;box-shadow:none!important;background:0 0!important}.nav-accent-line{background:linear-gradient(90deg,transparent 0%,var(--brand-red)20%,var(--brand-red)80%,transparent 100%);opacity:0;height:3px;transition:all .6s cubic-bezier(.16,1,.3,1);position:absolute;top:0;left:0;right:0;transform:scaleX(0)}.nav-header.nav-scrolled .nav-accent-line{opacity:1;transform:scaleX(1)}.nav-logo{align-items:center;text-decoration:none;display:flex}.nav-item{cursor:pointer;border-radius:8px;flex-direction:column;align-items:center;text-decoration:none;transition:all .3s;display:flex}.nav-item-bg{opacity:0;background:#c30d230a;border-radius:8px;transition:all .3s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:scale(.95)}.nav-item:hover .nav-item-bg{opacity:1;transform:scale(1)}.nav-item-text{flex-direction:column;align-items:center;gap:2px;display:flex}.nav-item-label{color:var(--text-dark);transition:all .3s}.nav-item:hover .nav-item-label{color:var(--brand-red)}.nav-item-label-jp{opacity:0;transition:all .3s;transform:translateY(-4px)}.nav-item:hover .nav-item-label-jp{opacity:1;transform:translateY(0)}.nav-item-underline{width:0;height:2px;transition:width .3s cubic-bezier(.16,1,.3,1);position:absolute;bottom:6px;left:50%;overflow:hidden;transform:translate(-50%)}.nav-item:hover .nav-item-underline{width:calc(100% - 40px)}.nav-item-underline-inner{background:linear-gradient(90deg,var(--brand-red),var(--brand-red-light));width:100%;height:100%;transition:transform .4s cubic-bezier(.16,1,.3,1);display:block;transform:translate(-100%)}.nav-item:hover .nav-item-underline-inner{transform:translate(0)}.nav-item-index{position:absolute;top:4px;right:8px}.nav-separator{background:linear-gradient(180deg,transparent 0%,var(--border-gray)30%,var(--border-gray)70%,transparent 100%);width:1px;height:24px}.nav-cta{cursor:pointer;border-radius:50px;align-items:center;padding:12px 24px;text-decoration:none;display:inline-flex;position:relative;overflow:hidden}.nav-cta-bg{background:var(--brand-red);border-radius:50px;transition:all .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.nav-cta:hover .nav-cta-bg{transform:scale(1.05);box-shadow:0 8px 30px #c30d2359}.nav-cta-content{z-index:1;color:var(--white);align-items:center;gap:8px;display:flex;position:relative}.nav-cta-icon{transition:transform .3s}.nav-cta:hover .nav-cta-icon{transform:translate(4px)}.nav-cta-shine{pointer-events:none;background:linear-gradient(90deg,#0000 0%,#fff3 50%,#0000 100%);width:100%;height:100%;transition:left .6s;position:absolute;top:0;left:-100%}.nav-cta:hover .nav-cta-shine{left:100%}.nav-hamburger{cursor:pointer;background:0 0;border:none;border-radius:16px;flex-direction:column;gap:4px;transition:all .4s cubic-bezier(.34,1.56,.64,1)}.nav-hamburger-ripple{opacity:0;background:#c30d2314;border-radius:16px;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:absolute;inset:0;transform:scale(.8)}.nav-hamburger.hovered .nav-hamburger-ripple,.nav-hamburger:active .nav-hamburger-ripple{opacity:1;transform:scale(1)}.nav-hamburger.active .nav-hamburger-ripple{opacity:1;background:#c30d231f;transform:scale(1)}.nav-hamburger-line{background:var(--text-dark);border-radius:2px;height:3px;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:absolute;left:50%}.nav-hamburger-line-1{width:100%;top:4px;transform:translate(-50%)}.nav-hamburger-line-2{width:70%;top:50%;transform:translate(-50%,-50%)}.nav-hamburger-line-3{width:100%;bottom:4px;transform:translate(-50%)}.nav-hamburger-dot{background:var(--brand-red);border-radius:50%;width:6px;height:6px;transition:all .3s cubic-bezier(.34,1.56,.64,1);position:absolute;top:50%;right:-4px;transform:translateY(-50%)scale(0)}.nav-hamburger.hovered .nav-hamburger-dot{transform:translateY(-50%)scale(1)}.nav-hamburger.hovered .nav-hamburger-line-1{width:70%;transform:translate(-50%)translateY(-2px)}.nav-hamburger.hovered .nav-hamburger-line-2{width:100%}.nav-hamburger.hovered .nav-hamburger-line-3{width:70%;transform:translate(-50%)translateY(2px)}.nav-hamburger.active .nav-hamburger-line{background:var(--brand-red)}.nav-hamburger.active .nav-hamburger-line-1{width:100%;top:50%;transform:translate(-50%,-50%)rotate(45deg)}.nav-hamburger.active .nav-hamburger-line-2{opacity:0;width:0;transform:translate(-50%,-50%)scaleX(0)}.nav-hamburger.active .nav-hamburger-dot{transform:translateY(-50%)scale(0)}.nav-hamburger.active .nav-hamburger-line-3{width:100%;bottom:50%;transform:translate(-50%,50%)rotate(-45deg)}.nav-hamburger-label{color:var(--text-gray);white-space:nowrap;transition:all .3s;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.nav-hamburger.active .nav-hamburger-label{color:var(--brand-red)}.nav-mobile-menu{z-index:55;visibility:hidden;pointer-events:none;position:fixed;inset:0;overflow:hidden}.nav-mobile-menu.active{visibility:visible;pointer-events:auto}.nav-mobile-bg-layer{transition:all .7s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.nav-mobile-bg-1{background:var(--brand-red);transform:translate(-100%)}.nav-mobile-bg-2{background:var(--white);transition-delay:.1s;transform:translate(-100%)}.nav-mobile-menu.active .nav-mobile-bg-1,.nav-mobile-menu.active .nav-mobile-bg-2{transform:translate(0)}.nav-mobile-bg-pattern{opacity:0;pointer-events:none;background-image:radial-gradient(circle at 20% 80%,#c30d2308 0%,#0000 50%),radial-gradient(circle at 80% 20%,#c30d2308 0%,#0000 50%);transition:opacity .5s .3s;position:absolute;inset:0}.nav-mobile-menu.active .nav-mobile-bg-pattern{opacity:1}.nav-mobile-floaters{pointer-events:none;position:absolute;inset:0;overflow:hidden}.nav-mobile-floater{top:min(max(var(--top),0px),calc(100% - var(--size)));left:min(max(var(--left),0px),calc(100% - var(--size)));width:var(--size);height:var(--size);opacity:0;transform:translateX(-110px)translateY(-80px)rotate(calc(var(--rotate,0deg) - 150deg))scale(.6);border:2px solid #c30d231a;border-radius:50%;position:absolute}@supports ((-webkit-mask-image:url("/daruma.svg")) or (mask-image:url("/daruma.svg"))){.nav-mobile-floater{background-color:#c30d231a;border:none;border-radius:0;-webkit-mask-image:url(/daruma.svg);mask-image:url(/daruma.svg);-webkit-mask-position:50%;mask-position:50%;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}}.nav-mobile-menu.active .nav-mobile-floater{animation-name:floaterEnter,floaterFloat;animation-duration:2.6s,7.5s;animation-timing-function:cubic-bezier(.16,1,.3,1),ease-in-out;animation-delay:var(--delay),calc(var(--delay) + 2.6s);animation-iteration-count:1,infinite;animation-fill-mode:both,none}@keyframes floaterEnter{0%{opacity:0;transform:translate3d(-120px,-90px,0)rotate(calc(var(--rotate,0deg) - 150deg))scale(.7)}to{opacity:1;transform:translate3d(0,0,0)rotate(var(--rotate,0deg))scale(1)}}@keyframes floaterFloat{0%,to{transform:translateX(0)translateY(0)rotate(var(--rotate,0deg))scale(1)}50%{transform:translateX(0)translateY(-10px)rotate(var(--rotate,0deg))scale(1.05)}}.nav-mobile-content{z-index:1;flex-direction:column;justify-content:center;min-height:100%;padding:100px 24px 32px;display:flex;position:relative;overflow-y:auto}@media (min-width:640px){.nav-mobile-content{padding:120px 40px 48px}}.nav-mobile-deco-kanji{color:var(--off-white);opacity:0;pointer-events:none;font-family:Noto Sans JP,sans-serif;font-size:30vw;font-weight:900;line-height:1;transition:all .8s cubic-bezier(.16,1,.3,1) .4s;position:absolute;bottom:10%;right:-5%;transform:translate(30px)}.nav-mobile-menu.active .nav-mobile-deco-kanji{opacity:.4;transform:translate(0)}.nav-mobile-nav{flex-direction:column;gap:4px;display:flex}.nav-mobile-item{opacity:0;border-radius:12px;align-items:center;gap:16px;padding:16px 12px;text-decoration:none;transition:all .6s cubic-bezier(.16,1,.3,1);display:flex;position:relative;overflow:hidden;transform:translate(-40px)}@media (min-width:640px){.nav-mobile-item{gap:20px;padding:20px 16px}}.nav-mobile-menu.active .nav-mobile-item{opacity:1;transform:translate(0)}.nav-mobile-item-bg{opacity:0;background:linear-gradient(90deg,#c30d2314 0%,#0000 100%);border-radius:12px;transition:all .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0;transform:translate(-100%)}.nav-mobile-item:hover .nav-mobile-item-bg,.nav-mobile-item:active .nav-mobile-item-bg{opacity:1;transform:translate(0)}.nav-mobile-item-index{min-width:32px;color:var(--brand-red);flex-direction:column;align-items:center;gap:4px;display:flex;position:relative}.nav-mobile-item-icon{opacity:.6;font-size:8px;transition:all .3s}.nav-mobile-item:hover .nav-mobile-item-icon{opacity:1;transform:scale(1.3)}.nav-mobile-item-text{z-index:1;flex-direction:column;flex:1;gap:2px;display:flex;position:relative}.nav-mobile-item-label{color:var(--text-dark);line-height:1.1;transition:all .3s}.nav-mobile-item:hover .nav-mobile-item-label{color:var(--brand-red);transform:translate(4px)}.nav-mobile-item-label-jp{opacity:.5;transition:all .3s}.nav-mobile-item:hover .nav-mobile-item-label-jp{opacity:.8}.nav-mobile-item-arrow{z-index:1;color:var(--brand-red);opacity:0;transition:all .4s cubic-bezier(.34,1.56,.64,1);position:relative;transform:translate(-12px)}.nav-mobile-item:hover .nav-mobile-item-arrow{opacity:1;transform:translate(0)}.nav-mobile-cta{opacity:0;margin-top:32px;transition:all .6s cubic-bezier(.16,1,.3,1);transform:translateY(30px)}@media (min-width:640px){.nav-mobile-cta{margin-top:48px}}.nav-mobile-menu.active .nav-mobile-cta{opacity:1;transform:translateY(0)}.nav-mobile-cta-btn{border-radius:60px;justify-content:center;align-items:center;width:100%;padding:18px 24px;text-decoration:none;display:flex;position:relative;overflow:hidden}.nav-mobile-cta-bg{background:var(--brand-red);border-radius:60px;transition:all .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.nav-mobile-cta-btn:hover .nav-mobile-cta-bg,.nav-mobile-cta-btn:active .nav-mobile-cta-bg{transform:scale(1.02);box-shadow:0 12px 40px #c30d2366}.nav-mobile-cta-content{z-index:1;color:var(--white);align-items:center;gap:12px;display:flex;position:relative}.nav-mobile-footer{opacity:0;margin-top:auto;padding-top:24px;transition:all .6s cubic-bezier(.16,1,.3,1);transform:translateY(20px)}@media (min-width:640px){.nav-mobile-footer{padding-top:40px}}.nav-mobile-menu.active .nav-mobile-footer{opacity:1;transform:translateY(0)}.nav-mobile-footer-line{background:linear-gradient(90deg,var(--border-gray)0%,transparent 100%);height:1px;margin-bottom:16px}.nav-mobile-footer-email{color:var(--text-gray);align-items:center;gap:8px;text-decoration:none;transition:all .3s;display:inline-flex}.nav-mobile-footer-email:hover{color:var(--brand-red)}.nav-mobile-footer-email-icon{width:20px;height:20px;color:var(--brand-red);background:#c30d231a;border-radius:50%;justify-content:center;align-items:center;font-size:10px;transition:all .3s;display:inline-flex}.nav-mobile-footer-email:hover .nav-mobile-footer-email-icon{background:var(--brand-red);color:var(--white);transform:translate(4px)}.company-name-container{padding:1rem 0;position:relative}.company-name-container:hover .char-animate{text-shadow:0 4px 20px #c30d2326}.company-name-container:before{content:"";opacity:0;pointer-events:none;background:radial-gradient(#c30d2308 0%,#0000 70%);transition:opacity .5s;position:absolute;inset:-20px -40px}.company-name-container:hover:before{opacity:1}.services-section{background:var(--off-white);position:relative}.services-header{padding:6rem 0 4rem}@media (min-width:640px){.services-header{padding:7rem 0 5rem}}@media (min-width:1024px){.services-header{padding:8rem 0 5rem}}.services-category-label{align-items:flex-start;gap:1.5rem;margin-bottom:2.5rem;display:flex}@media (min-width:640px){.services-category-label{gap:2rem;margin-bottom:3rem}}.services-category-vertical{writing-mode:vertical-rl;text-orientation:mixed;border-left:2px solid var(--border-gray);padding:1rem 0 1rem .75rem;position:relative}.services-category-vertical--accent{border-left-color:var(--brand-red)}.services-category-jp{letter-spacing:.15em;color:var(--text-gray);font-family:Noto Sans JP,sans-serif;font-size:.875rem;font-weight:700}.services-category-vertical--accent .services-category-jp{color:var(--brand-red)}.services-category-text{flex-direction:column;gap:.75rem;padding-top:.25rem;display:flex}.services-category-en{letter-spacing:-.02em;color:var(--text-dark);font-family:Noto Sans JP,sans-serif;font-size:1.75rem;font-weight:800}@media (min-width:640px){.services-category-en{font-size:2.25rem}}.services-category-line{background:linear-gradient(90deg,var(--border-gray)0%,transparent 100%);width:60px;height:3px}.services-category-vertical--accent+.services-category-text .services-category-line{background:linear-gradient(90deg,var(--brand-red)0%,transparent 100%)}.about-company-divider{margin-bottom:3rem}@media (min-width:640px){.about-company-divider{margin-bottom:4rem}}.about-company-divider-line{background:var(--border-gray);height:1px;position:relative}.about-company-divider-line:before{content:"";background:var(--off-white);border:2px solid var(--brand-red);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.about-company-header{align-items:flex-start;gap:1.5rem;margin-bottom:2rem;display:flex}@media (min-width:640px){.about-company-header{gap:2rem;margin-bottom:3rem}}.about-company-vertical{writing-mode:vertical-rl;text-orientation:mixed;border-left:2px solid var(--brand-red);padding-left:.75rem;position:relative}.about-company-jp{letter-spacing:.1em;color:var(--brand-red);font-family:Noto Sans JP,sans-serif;font-size:.875rem;font-weight:700}.about-company-text{flex-direction:column;gap:.75rem;padding-top:.25rem;display:flex}.about-company-en{letter-spacing:-.02em;color:var(--text-dark);font-family:Noto Sans JP,sans-serif;font-size:1.75rem;font-weight:800}@media (min-width:640px){.about-company-en{font-size:2.25rem}}.about-company-line{background:linear-gradient(90deg,var(--brand-red)0%,transparent 100%);width:60px;height:3px}.services-client-section{padding-bottom:4rem}@media (min-width:640px){.services-client-section{padding-bottom:5rem}}.services-client-grid{gap:1.5rem;display:grid}@media (min-width:768px){.services-client-grid{grid-template-columns:repeat(2,1fr);gap:2rem}}.services-client-card{text-align:left;background:var(--white);border:1px solid var(--border-gray);cursor:pointer;width:100%;padding:2rem;transition:all .4s cubic-bezier(.16,1,.3,1);display:block;position:relative;overflow:hidden}@media (min-width:640px){.services-client-card{padding:2.5rem}}.services-client-card:hover{border-color:#0000;transform:translateY(-4px);box-shadow:0 20px 50px #00000014}.services-client-number{color:var(--light-gray);pointer-events:none;white-space:nowrap;font-family:Noto Sans JP,sans-serif;font-size:5rem;font-weight:800;line-height:1;transition:color .4s;position:absolute;top:-.5rem;left:-.5rem}@media (min-width:640px){.services-client-number{font-size:6rem}}@media (min-width:1024px){.services-client-number{font-size:7rem}}.services-client-card:hover .services-client-number{color:#c30d230f}.services-client-content{z-index:1;position:relative}.services-client-title-en{letter-spacing:.08em;text-transform:uppercase;color:var(--brand-red);margin-bottom:.5rem;font-family:Noto Sans JP,sans-serif;font-size:.7rem;font-weight:700}.services-client-title{color:var(--text-dark);margin-bottom:1rem;font-family:Noto Sans JP,sans-serif;font-size:1.5rem;font-weight:800}@media (min-width:640px){.services-client-title{font-size:1.75rem}}.services-client-description{color:var(--text-gray);white-space:pre-line;margin-bottom:1.5rem;font-size:.9rem;line-height:1.7}.services-client-features{flex-direction:column;gap:.5rem;margin-bottom:1.5rem;display:flex}.services-client-feature{color:var(--text-gray);align-items:center;gap:.75rem;font-size:.85rem;display:flex}.services-client-feature-dot{background:var(--brand-red);border-radius:50%;flex-shrink:0;width:4px;height:4px}.services-client-cta{color:var(--brand-red);align-items:center;gap:.5rem;font-family:Noto Sans JP,sans-serif;font-size:.85rem;font-weight:600;transition:gap .3s;display:inline-flex}.services-client-card:hover .services-client-cta{gap:.75rem}.services-client-cta svg{transition:transform .3s}.services-client-card:hover .services-client-cta svg{transform:translate(4px)}.services-client-hover-line{background:linear-gradient(90deg,var(--brand-red),var(--brand-red-light));width:0;height:3px;transition:width .4s cubic-bezier(.16,1,.3,1);position:absolute;bottom:0;left:0}.services-client-card:hover .services-client-hover-line{width:100%}.services-divider{padding:0 0 4rem}@media (min-width:640px){.services-divider{padding:0 0 5rem}}.services-divider-line{background:var(--border-gray);height:1px;position:relative}.services-divider-line:before{content:"";background:var(--off-white);border:2px solid var(--brand-red);border-radius:50%;width:12px;height:12px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.services-product-section{padding-bottom:6rem}@media (min-width:640px){.services-product-section{padding-bottom:7rem}}@media (min-width:1024px){.services-product-section{padding-bottom:8rem}}.services-product-grid{gap:2rem;display:grid}.services-featured-card{text-align:left;cursor:pointer;border-radius:24px;width:100%;min-height:400px;padding:2.5rem;transition:transform .5s cubic-bezier(.16,1,.3,1);display:block;position:relative;overflow:hidden}@media (min-width:640px){.services-featured-card{min-height:420px;padding:3rem}}@media (min-width:1024px){.services-featured-card{min-height:380px;padding:4rem}}.services-featured-card:hover{transform:translateY(-6px)}.services-featured-card--has-image{min-height:480px}@media (min-width:640px){.services-featured-card--has-image{min-height:520px}}@media (min-width:1024px){.services-featured-card--has-image{min-height:500px}}.services-featured-image-wrapper{border-radius:24px;position:absolute;inset:0;overflow:hidden}.services-featured-image{object-fit:cover;object-position:center;filter:saturate(1.1)contrast(1.05);transition:transform .8s cubic-bezier(.16,1,.3,1),filter .5s}.services-featured-card:hover .services-featured-image{filter:saturate(1.2)contrast(1.1);transform:scale(1.08)}.services-featured-image-overlay{z-index:1;background:linear-gradient(#0a0a0a1a 0%,#0a0a0a33 30%,#0a0a0a80 50%,#0a0a0ad9 75%,#0a0a0af2 100%),linear-gradient(90deg,#0a0a0ab3 0%,#0a0a0a4d 40%,#0000 70%);transition:opacity .5s;position:absolute;inset:0}.services-featured-card:hover .services-featured-image-overlay{opacity:.9}.services-featured-vignette{z-index:1;pointer-events:none;background:radial-gradient(80% 70% at 70% 30%,#0000 30%,#0006 100%);position:absolute;inset:0}.services-featured-grain{opacity:.04;z-index:1;pointer-events:none;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)'/%3E%3C/svg%3E");position:absolute;inset:0}.services-featured-card--has-image .services-featured-content{justify-content:flex-end}.services-featured-card--has-image .services-featured-badge{color:var(--white);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#c30d23e6;border-color:#c30d23e6}.services-featured-card--has-image .services-featured-badge-icon{color:var(--white)}.services-featured-card--has-image .services-featured-title{text-shadow:0 2px 20px #00000080}.services-featured-card--has-image .services-featured-description{color:#ffffffd9;text-shadow:0 1px 10px #00000080;max-width:550px}.services-featured-card--has-image .services-featured-feature{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#ffffff26;border-color:#ffffff40}.services-featured-card--has-image:hover .services-featured-feature{background:#fff3;border-color:#ffffff59}.services-featured-card--has-image .services-featured-cta{box-shadow:0 4px 20px #c30d2366}.services-featured-card--has-image:hover .services-featured-cta{box-shadow:0 8px 40px #c30d2399}.services-featured-bg{background:linear-gradient(135deg,var(--text-dark)0%,#2a2a2a 50%,#1f1f1f 100%);transition:all .5s;position:absolute;inset:0}.services-featured-card:hover .services-featured-bg{background:linear-gradient(135deg,#1a1a1a 0%,#252525 50%,#1a1a1a 100%)}.services-featured-pattern{opacity:.03;background-image:radial-gradient(circle at 20% 80%,var(--brand-red)0%,transparent 50%),radial-gradient(circle at 80% 20%,var(--brand-red)0%,transparent 40%);transition:opacity .5s;position:absolute;inset:0}.services-featured-card:hover .services-featured-pattern{opacity:.06}.services-featured-content{z-index:2;flex-direction:column;height:100%;display:flex;position:relative}.services-featured-badge{letter-spacing:.1em;text-transform:uppercase;width:fit-content;color:var(--brand-red);background:#c30d2326;border:1px solid #c30d234d;border-radius:100px;align-items:center;gap:.5rem;margin-bottom:2rem;padding:.5rem 1rem;font-family:Noto Sans JP,sans-serif;font-size:.7rem;font-weight:700;display:inline-flex}.services-featured-badge-icon{font-size:.6rem}.services-featured-header{margin-bottom:1.5rem}.services-featured-number{letter-spacing:.2em;color:#ffffff4d;margin-bottom:.75rem;font-family:Noto Sans JP,sans-serif;font-size:.75rem;font-weight:700;display:block}.services-featured-title-en{letter-spacing:.05em;color:var(--brand-red);margin-bottom:.5rem;font-family:Noto Sans JP,sans-serif;font-size:.8rem;font-weight:600}.services-featured-title{color:var(--white);font-family:Noto Sans JP,sans-serif;font-size:2.25rem;font-weight:800;line-height:1.2}@media (min-width:640px){.services-featured-title{font-size:2.75rem}}@media (min-width:1024px){.services-featured-title{font-size:3rem}}.services-featured-description{color:#ffffffb3;white-space:pre-line;max-width:600px;margin-bottom:2rem;font-size:1rem;line-height:1.8}.services-featured-features{flex-wrap:wrap;gap:.75rem;margin-bottom:2rem;display:flex}.services-featured-feature{color:#ffffffd9;background:#ffffff14;border:1px solid #ffffff1a;border-radius:6px;align-items:center;padding:.5rem 1rem;font-family:Noto Sans JP,sans-serif;font-size:.8rem;font-weight:500;transition:all .3s;display:inline-flex}.services-featured-card:hover .services-featured-feature{background:#ffffff1f;border-color:#ffffff26}.services-featured-cta{background:var(--brand-red);width:fit-content;color:var(--white);border-radius:8px;align-items:center;gap:.75rem;margin-top:auto;padding:1rem 1.5rem;font-family:Noto Sans JP,sans-serif;font-size:.9rem;font-weight:700;transition:all .3s;display:inline-flex}.services-featured-card:hover .services-featured-cta{background:var(--brand-red-light);gap:1rem;box-shadow:0 8px 30px #c30d2366}.services-featured-cta svg{transition:transform .3s}.services-featured-card:hover .services-featured-cta svg{transform:translate(4px)}.services-featured-accent{pointer-events:none;background:radial-gradient(circle at 100% 0,#c30d2333 0%,#0000 70%);width:200px;height:200px;position:absolute;top:0;right:0}.card-modern-interactive{cursor:pointer}.card-modern-interactive:hover .service-card-cta svg{transform:translate(4px)}.service-card-cta{opacity:.8;transition:opacity .3s}.card-modern-interactive:hover .service-card-cta{opacity:1}.service-modal-overlay{z-index:100;-webkit-backdrop-filter:blur();backdrop-filter:blur();visibility:hidden;overscroll-behavior:contain;background:#1a1a1a00;justify-content:center;align-items:center;padding:1rem;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;inset:0}.service-modal-overlay.active{visibility:visible;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#1a1a1ab3}.service-modal-overlay.viewer-open{-webkit-backdrop-filter:none;backdrop-filter:none;background:#1a1a1a26}.service-modal{background:var(--white);opacity:0;border:1px solid #1a1a1a14;border-radius:28px;width:100%;max-width:900px;max-height:90vh;transition:all .5s cubic-bezier(.16,1,.3,1);position:relative;overflow:hidden;transform:translateY(40px)scale(.96);box-shadow:0 24px 80px #0000002e,0 6px 24px #0000001f}.service-modal.active{opacity:1;transform:none}.service-modal.viewer-open .service-modal-content{pointer-events:none;overflow:hidden}.service-modal-close{z-index:20;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);width:48px;height:48px;color:var(--text-dark);cursor:pointer;background:#ffffffe6;border:1px solid #1a1a1a14;border-radius:999px;justify-content:center;align-items:center;transition:all .3s;display:flex;position:absolute;top:1.5rem;right:1.5rem;box-shadow:0 8px 20px #0000001f,0 2px 6px #00000014}.service-modal-close:hover{background:var(--brand-red);border-color:var(--brand-red);color:var(--white);transform:rotate(90deg)}.service-modal-deco-number{color:var(--light-gray);opacity:.5;pointer-events:none;z-index:0;font-family:Noto Sans JP,sans-serif;font-size:16rem;font-weight:800;line-height:1;position:absolute;top:-2rem;right:-1rem}.service-modal-deco-line{background:linear-gradient(180deg,var(--brand-red)0%,var(--brand-red-light)50%,transparent 100%);width:4px;height:100%;position:absolute;top:0;left:0}.service-modal-content{z-index:10;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;max-height:90vh;padding:3rem;position:relative;overflow-y:auto}@media (min-width:640px){.service-modal-content{padding:4rem}}.service-modal-content::-webkit-scrollbar{width:4px}.service-modal-content::-webkit-scrollbar-track{background:0 0}.service-modal-content::-webkit-scrollbar-thumb{background:var(--brand-red);border-radius:2px}.service-modal-header{border-bottom:1px solid var(--border-gray);margin-bottom:3rem;padding-bottom:2rem}.service-modal-section{margin-bottom:2.5rem}.service-modal-capability{background:var(--off-white);border-left:2px solid #0000;padding:1.25rem;transition:all .3s}.service-modal-capability:hover{border-left-color:var(--brand-red);background:var(--white);box-shadow:0 4px 20px #0000000a}.service-modal-capability-number{width:28px;height:28px;color:var(--brand-red);background:#c30d2314;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:Noto Sans JP,sans-serif;font-size:.7rem;font-weight:700;display:flex}.service-modal-tech-tag{letter-spacing:.02em;color:var(--text-dark);background:var(--off-white);border:1px solid var(--border-gray);align-items:center;padding:.5rem 1rem;font-family:Noto Sans JP,sans-serif;font-size:.75rem;font-weight:600;transition:all .3s;display:inline-flex}.service-modal-tech-tag:hover{border-color:var(--brand-red);color:var(--brand-red);background:#c30d2308}.service-modal-cta{border-top:1px solid var(--border-gray);padding-top:2rem}.service-modal.active .service-modal-header{opacity:0;animation:.5s ease-out .1s forwards fadeInUp}.service-modal.active .service-modal-section:nth-child(2){opacity:0;animation:.5s ease-out .2s forwards fadeInUp}.service-modal.active .service-modal-section:nth-child(3){opacity:0;animation:.5s ease-out .3s forwards fadeInUp}.service-modal.active .service-modal-section:nth-child(4){opacity:0;animation:.5s ease-out .4s forwards fadeInUp}.service-modal.active .service-modal-cta{opacity:0;animation:.5s ease-out .5s forwards fadeInUp}.service-modal-portfolio{background:var(--off-white);margin-left:-3rem;margin-right:-3rem;padding:2rem 3rem}@media (min-width:640px){.service-modal-portfolio{margin-left:-4rem;margin-right:-4rem;padding:2.5rem 4rem}}.portfolio-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.portfolio-count{color:var(--text-gray);background:var(--white);border:1px solid var(--border-gray);padding:.25rem .75rem;font-family:Noto Sans JP,sans-serif;font-size:.75rem;font-weight:600}.portfolio-grid{gap:1.5rem;display:grid}.portfolio-grid.single{max-width:640px}.portfolio-grid:not(.single){grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}@media (min-width:1024px){.portfolio-grid:not(.single){-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border-gray)transparent;grid-template-columns:none;grid-auto-columns:minmax(280px,340px);grid-auto-flow:column;justify-content:start;padding-bottom:.5rem;overflow-x:auto}.portfolio-grid:not(.single)::-webkit-scrollbar{height:4px}.portfolio-grid:not(.single)::-webkit-scrollbar-track{background:0 0}.portfolio-grid:not(.single)::-webkit-scrollbar-thumb{background:var(--border-gray);border-radius:999px}}.portfolio-video-card{background:var(--white);border:1px solid var(--border-gray);border-radius:18px;transition:all .4s cubic-bezier(.16,1,.3,1);overflow:hidden}.portfolio-video-card:hover{border-color:#0000;transform:translateY(-4px);box-shadow:0 20px 50px #0000001a}.portfolio-video-container{background:var(--text-dark);width:100%;padding-bottom:56.25%;position:relative;overflow:hidden}.portfolio-video-thumbnail{cursor:pointer;background:var(--text-dark);border:none;width:100%;height:100%;padding:0;position:absolute;inset:0}.portfolio-video-img{object-fit:cover;width:100%;height:100%;transition:transform .6s cubic-bezier(.16,1,.3,1);position:absolute;inset:0}.portfolio-video-thumbnail:hover .portfolio-video-img{transform:scale(1.05)}.portfolio-video-overlay{background:linear-gradient(#1a1a1a4d 0%,#1a1a1a1a 40% 60%,#1a1a1a99 100%);transition:opacity .3s;position:absolute;inset:0}.portfolio-video-thumbnail:hover .portfolio-video-overlay{opacity:.8}.portfolio-video-play{z-index:10;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.portfolio-video-play-inner{background:var(--brand-red);width:72px;height:72px;color:var(--white);border-radius:50%;justify-content:center;align-items:center;transition:all .4s cubic-bezier(.16,1,.3,1);display:flex;box-shadow:0 4px 20px #c30d2366}.portfolio-video-play-inner svg{margin-left:4px}.portfolio-video-play.hovered .portfolio-video-play-inner{transform:scale(1.1);box-shadow:0 8px 30px #c30d2380}.portfolio-video-play-ring{border:2px solid var(--brand-red);opacity:0;border-radius:50%;transition:all .4s cubic-bezier(.16,1,.3,1);position:absolute;inset:-8px;transform:scale(.8)}.portfolio-video-play.hovered .portfolio-video-play-ring{opacity:.5;animation:1.5s ease-out infinite pulse-ring;transform:scale(1)}@keyframes pulse-ring{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.3)}}.portfolio-video-badge{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);color:var(--white);letter-spacing:.05em;text-transform:uppercase;background:#1a1a1acc;align-items:center;gap:.5rem;padding:.375rem .75rem;font-family:Noto Sans JP,sans-serif;font-size:.7rem;font-weight:600;transition:all .3s;display:flex;position:absolute;bottom:1rem;left:1rem}.portfolio-video-thumbnail:hover .portfolio-video-badge{background:var(--brand-red)}.portfolio-video-iframe{border:none;width:100%;height:100%;position:absolute;inset:0}.portfolio-video-info{padding:1.25rem}.portfolio-video-title,.portfolio-video-description{-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.portfolio-video-title{-webkit-line-clamp:2}.portfolio-video-description{-webkit-line-clamp:3}.portfolio-video-title-full,.portfolio-video-description-full{-webkit-line-clamp:unset}.portfolio-video-summary-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-gray);margin-bottom:.25rem;font-family:Noto Sans JP,sans-serif;font-size:.7rem;font-weight:600}.portfolio-video-description-summary{white-space:pre-line}.portfolio-video-meta{border-top:1px solid var(--border-gray);gap:.9rem;margin-top:1rem;padding-top:1rem;display:grid}.portfolio-video-meta-block{gap:.35rem;display:grid}.portfolio-video-meta-label{letter-spacing:.16em;text-transform:uppercase;color:var(--text-gray);font-family:Noto Sans JP,sans-serif;font-size:.7rem;font-weight:600}.portfolio-video-meta-value{white-space:pre-line;flex-direction:column;gap:.2rem;display:flex}.portfolio-video-client-primary{color:var(--text-dark);white-space:pre-line;font-size:.95rem;font-weight:600;display:block}.portfolio-video-client-secondary{color:#1a1a1a8c;letter-spacing:.04em;white-space:pre-line;font-size:.78rem;font-weight:500;display:block}.portfolio-video-meta-tags{flex-wrap:wrap;gap:.5rem;display:flex}.portfolio-video-meta-tag{color:var(--text-dark);background:#1a1a1a0a;border:1px solid #1a1a1a1a;border-radius:999px;align-items:center;padding:.35rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.service-video-viewer{z-index:120;opacity:0;visibility:hidden;pointer-events:none;background:#080808bf;justify-content:center;align-items:center;padding:1.5rem;transition:opacity .25s,visibility .25s;display:flex;position:fixed;inset:0}.service-video-viewer.active{opacity:1;visibility:visible;pointer-events:auto}.service-video-viewer-panel{background:#000;border-radius:28px;width:min(92vw,1100px);position:relative;overflow:hidden;box-shadow:0 30px 90px #00000073,0 12px 30px #00000059}.service-video-viewer-frame{aspect-ratio:16/9;background-color:#000;background-position:50%;background-size:cover;width:100%;position:relative}.service-video-viewer-embed{border:0;width:100%;height:100%;position:absolute;inset:0}.service-video-viewer-close{z-index:2;width:42px;height:42px;color:var(--white);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:pointer;background:#0f0f0fb3;border:1px solid #fff3;border-radius:999px;justify-content:center;align-items:center;transition:transform .2s,background .2s;display:flex;position:absolute;top:.75rem;right:.75rem}.service-video-viewer-close:hover{background:#c30d23e6;transform:scale(1.05)}.service-modal.active .service-modal-portfolio{opacity:0;animation:.5s ease-out .45s forwards fadeInUp}@media (max-width:768px){.card-modern{padding:1.75rem}.number-deco{font-size:5.5rem;top:-.5rem;left:-.5rem}}@media (max-width:640px){.btn-primary,.btn-outline{padding:.875rem 1.5rem;font-size:.8rem}.company-name-container{padding:.5rem 0}.company-name-container:before{inset:-16px -24px}.tag{padding:.3rem .75rem;font-size:.6875rem}.service-modal{border-radius:20px;max-height:95dvh}.service-modal-content{padding:2rem 1.5rem}.service-modal-deco-number{font-size:9rem;top:-1.5rem;right:-.5rem}.service-modal-close{width:40px;height:40px;top:1rem;right:1rem}.service-modal-portfolio{margin-left:-1.5rem;margin-right:-1.5rem;padding:1.5rem}.portfolio-header{flex-direction:column;align-items:flex-start;gap:.75rem}.portfolio-video-play-inner{width:56px;height:56px}.portfolio-video-play-ring{inset:-6px}.service-video-viewer{padding:1rem}.service-video-viewer-panel{border-radius:20px;width:94vw}.service-video-viewer-close{width:38px;height:38px}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-gradient-position{syntax:"*";inherits:false}@property --tw-gradient-from{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-via{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-to{syntax:"<color>";inherits:false;initial-value:#0000}@property --tw-gradient-stops{syntax:"*";inherits:false}@property --tw-gradient-via-stops{syntax:"*";inherits:false}@property --tw-gradient-from-position{syntax:"<length-percentage>";inherits:false;initial-value:0%}@property --tw-gradient-via-position{syntax:"<length-percentage>";inherits:false;initial-value:50%}@property --tw-gradient-to-position{syntax:"<length-percentage>";inherits:false;initial-value:100%}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@keyframes spin{to{transform:rotate(360deg)}}
