.hp-root{--hp-sora:#07070f;--hp-sora2:#0a0a12;--hp-hoshigiri:#9fa3bf;--hp-ake:#fafaf9;--hp-sumi:#1c1c1e;--hp-hai:#dcdcdc;--hp-wakaba:#7fa07a;--hp-serif:var(--font-noto-serif-jp),"Noto Serif JP",serif;--hp-body-serif:var(--font-shippori-mincho),"Shippori Mincho",serif;--hp-sans:"Hiragino Kaku Gothic ProN","Yu Gothic","Noto Sans JP",sans-serif;position:relative;margin:0;font-family:var(--hp-body-serif);color:var(--hp-ake);overflow-x:hidden;transition:color .8s ease;-webkit-font-smoothing:antialiased;scroll-behavior:smooth}.hp-root.hp-inked{color:var(--hp-sumi)}@media (prefers-reduced-motion:reduce){.hp-root{scroll-behavior:auto}}.hp-contact-root{background:var(--hp-ake);min-height:100vh}.hp-contact-root section{min-height:auto;padding:14vh 24px 10vh}.hp-contact-back{align-self:flex-start;width:100%;max-width:34rem;margin:0 auto 3.2rem}.hp-contact-back a{font-family:var(--hp-sans);font-size:.7rem;letter-spacing:.2em;color:inherit;opacity:.6;text-decoration:none}.hp-contact-back a:hover{opacity:1;text-decoration:underline;text-underline-offset:.35em}.hp-contact-lead{text-align:center;margin-bottom:3.6rem}.hp-contact-form-wrap{width:100%;max-width:34rem}.hp-contact-form{display:flex;flex-direction:column;gap:2.2rem}.hp-contact-field{display:flex;flex-direction:column;gap:.6rem}.hp-contact-field label{font-family:var(--hp-sans);font-size:.68rem;letter-spacing:.3em;opacity:.6}.hp-contact-field input,.hp-contact-field textarea{font-family:var(--hp-body-serif);font-size:1rem;letter-spacing:.03em;color:var(--hp-sumi);background:transparent;border:none;border-bottom:1px solid color-mix(in srgb,currentColor 30%,transparent);padding:.6rem .1rem;outline:none;resize:vertical;transition:border-color .4s ease}.hp-contact-field input:focus,.hp-contact-field textarea:focus{border-bottom-color:var(--hp-sumi)}.hp-contact-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.hp-contact-form .hp-cta{align-self:center;margin-top:1rem}.hp-contact-form .hp-cta:disabled{opacity:.5;cursor:not-allowed}.hp-contact-message{font-family:var(--hp-sans);font-size:.86rem;letter-spacing:.06em;line-height:1.9;text-align:center}.hp-contact-message-success{max-width:34rem;margin:0 auto;padding:14vh 24px}.hp-contact-message-error{opacity:.85}.hp-bg-layer{background:var(--hp-sora)}.hp-bg-layer,.hp-root .hp-cosmos{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}.hp-root main{position:relative;z-index:1}.hp-root section{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:18vh 24px;box-sizing:border-box;position:relative}.hp-root .hp-prose{max-width:34rem;line-height:2.1;font-size:1.02rem;letter-spacing:.06em}.hp-root .hp-prose p{margin:0 0 1.8em}.hp-root .hp-eyebrow{font-family:var(--hp-sans);font-size:.68rem;letter-spacing:.55em;text-indent:.55em;opacity:.55;margin-bottom:3.2rem;text-align:center}.hp-root .hp-eyebrow .hp-num{display:block;font-size:.62rem;letter-spacing:.3em;margin-bottom:.9em;opacity:.7}.hp-root h2{font-family:var(--hp-serif);font-weight:500;font-size:clamp(1.5rem,3.6vw,2.2rem);letter-spacing:.18em;text-align:center;margin:0 0 3.5rem;text-wrap:balance}.hp-root .hp-rise{opacity:0;transform:translateY(28px);transition:opacity 1.6s ease,transform 1.6s cubic-bezier(.16,.84,.36,1)}.hp-root .hp-rise.hp-on{opacity:1;transform:none}.hp-root .hp-rise.hp-d1{transition-delay:.25s}.hp-root .hp-rise.hp-d2{transition-delay:.5s}.hp-root .hp-rise.hp-d3{transition-delay:.75s}.hp-root #hp-jo{min-height:118vh;overflow:hidden}.hp-root .hp-hero-media{position:absolute;inset:0;z-index:0}.hp-root .hp-hero-media img,.hp-root .hp-hero-media video{width:100%;height:100%;object-fit:cover;display:block}.hp-root .hp-hero-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(7,7,15,.5),rgba(7,7,15,.22) 42%,rgba(7,7,15,.9) 94%,#07070f)}.hp-root #hp-jo>:not(.hp-hero-media){position:relative;z-index:1}.hp-root .hp-site-mark{font-family:var(--hp-serif);font-size:clamp(2.1rem,6.4vw,3.6rem);letter-spacing:.5em;text-indent:.5em;font-weight:500;margin:0 0 2.2rem;text-align:center}.hp-root .hp-site-sub{font-family:var(--hp-sans);font-size:.7rem;letter-spacing:.45em;text-indent:.45em;opacity:.6;text-align:center;margin-bottom:6rem}.hp-root .hp-tate{writing-mode:vertical-rl;letter-spacing:.42em;font-size:1.05rem;line-height:2.6;height:15em;margin:0 auto;opacity:.92}.hp-root .hp-scroll-cue{position:absolute;bottom:7vh;left:50%;transform:translateX(-50%);font-family:var(--hp-sans);font-size:.6rem;letter-spacing:.5em;text-indent:.5em;opacity:.45}.hp-root .hp-scroll-cue:after{content:"";display:block;width:1px;height:52px;margin:14px auto 0;background:linear-gradient(180deg,currentColor,transparent);animation:hp-cue 2.6s ease-in-out infinite}@keyframes hp-cue{0%,to{opacity:.2}50%{opacity:.9}}.hp-root .hp-thesis{font-family:var(--hp-serif);font-size:clamp(1.35rem,3.4vw,2.05rem);line-height:2.35;letter-spacing:.14em;text-align:center;font-weight:500;text-wrap:balance;max-width:30em;margin:0}.hp-root .hp-thesis small{display:block;font-size:.55em;letter-spacing:.3em;opacity:.65;margin-top:3.2em;font-weight:400}.hp-root .hp-futaba-stage{width:min(300px,60vw);margin:0 auto 4rem}.hp-root .hp-futaba-stage svg{width:100%;height:auto;display:block;overflow:visible}.hp-root .hp-futaba-stage path{fill:none;stroke:var(--hp-wakaba);stroke-width:2.4;stroke-linecap:round;stroke-dasharray:var(--hp-len,400);stroke-dashoffset:var(--hp-len,400)}.hp-root .hp-futaba-stage.hp-grow path{animation:hp-draw 2.8s cubic-bezier(.3,.6,.3,1) forwards}.hp-root .hp-futaba-stage.hp-grow path.hp-p2{animation-delay:.9s}.hp-root .hp-futaba-stage.hp-grow path.hp-p3{animation-delay:1.5s}@keyframes hp-draw{to{stroke-dashoffset:0}}.hp-root .hp-futaba-stage .hp-halo{fill:var(--hp-wakaba);stroke:none;opacity:0}.hp-root .hp-futaba-stage.hp-grow .hp-halo{animation:hp-halo 3.4s ease 2.2s forwards}@keyframes hp-halo{to{opacity:.14}}.hp-root .hp-proofs{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1px;background:currentColor;max-width:62rem;width:100%;opacity:.98}.hp-root .hp-proof{background:var(--hp-bgcell,var(--hp-ake));padding:2.6rem 2rem 2.8rem;box-sizing:border-box;color:var(--hp-sumi);text-decoration:none;display:block;transition:transform .55s cubic-bezier(.2,.7,.3,1)}.hp-root .hp-proof:hover{transform:translateY(-5px)}.hp-root .hp-proof:hover .hp-go{opacity:.85;letter-spacing:.5em}.hp-root .hp-proof:focus-visible{outline:1px solid var(--hp-sumi);outline-offset:-6px}.hp-root .hp-proof .hp-k{font-family:var(--hp-sans);font-size:.62rem;letter-spacing:.4em;opacity:.5;display:block;margin-bottom:1.4rem}.hp-root .hp-proof h3{font-family:var(--hp-serif);font-size:1.02rem;font-weight:600;line-height:1.95;letter-spacing:.05em;margin:0 0 1.1rem;text-wrap:balance}.hp-root .hp-proof p{font-size:.86rem;line-height:2;letter-spacing:.04em;margin:0 0 1.6rem;opacity:.78}.hp-root .hp-proof .hp-go{font-family:var(--hp-sans);font-size:.6rem;letter-spacing:.4em;opacity:.45;transition:opacity .5s ease,letter-spacing .5s ease}.hp-root #hp-kengen .hp-prose{text-align:left}.hp-root .hp-name-block{text-align:center;margin-bottom:3.4rem}.hp-root .hp-name-block .hp-nm{font-family:var(--hp-serif);font-size:clamp(1.5rem,4vw,2rem);letter-spacing:.4em;text-indent:.4em;font-weight:500}.hp-root .hp-name-block .hp-rd{font-family:var(--hp-sans);font-size:.62rem;letter-spacing:.5em;text-indent:.5em;opacity:.5;margin-top:1.2rem}.hp-root .hp-ladder{list-style:none;margin:0 auto;padding:0;max-width:36rem;width:100%;position:relative}.hp-root .hp-ladder:before{content:"";position:absolute;left:11px;top:8px;bottom:8px;width:1px;background:linear-gradient(180deg,transparent,currentColor 12%,currentColor 88%,transparent);opacity:.35}.hp-root .hp-rung{position:relative;padding:1.55rem 0 1.55rem 3.2rem;border-bottom:1px solid color-mix(in srgb,currentColor 14%,transparent)}.hp-root .hp-rung:last-child{border-bottom:none}.hp-root .hp-rung:before{content:"";position:absolute;left:7px;top:2.15rem;width:9px;height:9px;border-radius:50%;background:currentColor;opacity:.25;transition:opacity .9s ease,box-shadow .9s ease}.hp-root .hp-rung.hp-on:before{opacity:1;box-shadow:0 0 14px 2px color-mix(in srgb,currentColor 45%,transparent)}.hp-root .hp-rung a{color:inherit;text-decoration:none;display:block}.hp-root .hp-rung .hp-t{font-family:var(--hp-serif);font-size:1.06rem;letter-spacing:.14em;font-weight:600}.hp-root .hp-rung .hp-t .hp-free{font-family:var(--hp-sans);font-size:.6rem;letter-spacing:.3em;opacity:.55;margin-left:1em;vertical-align:.18em}.hp-root .hp-rung .hp-d{font-size:.84rem;line-height:1.95;opacity:.72;margin-top:.55rem}.hp-root .hp-rung a:hover .hp-t{text-decoration:underline;text-underline-offset:.45em;text-decoration-thickness:1px}.hp-root .hp-rung a:focus-visible{outline:1px solid currentColor;outline-offset:6px}.hp-root #hp-toi{min-height:88vh}.hp-root .hp-cta{font-family:var(--hp-serif);font-size:1rem;letter-spacing:.3em;text-indent:.3em;border:1px solid;background:transparent;color:inherit;padding:1.3rem 3.4rem;cursor:pointer;margin-top:3.4rem;display:inline-block;text-decoration:none;transition:background .5s ease,color .5s ease}.hp-root .hp-cta:hover{background:var(--hp-sumi);color:var(--hp-ake)}.hp-root .hp-cta:focus-visible{outline:1px solid currentColor;outline-offset:6px}.hp-root footer.hp-footer{position:relative;z-index:1;text-align:center;padding:6rem 24px 4rem;font-family:var(--hp-sans);font-size:.62rem;letter-spacing:.35em;opacity:.45}.hp-root .hp-footer-links{margin-top:1.4rem;display:flex;justify-content:center;gap:1.6em;letter-spacing:.2em;font-size:.95em}.hp-root .hp-footer-links a{color:inherit;text-decoration:none;opacity:.85}.hp-root .hp-footer-links a:hover{opacity:1;text-decoration:underline;text-underline-offset:.35em}@media (max-width:640px){.hp-root .hp-tate{height:12em;font-size:.95rem}.hp-root section{padding:14vh 20px}}@media (prefers-reduced-motion:reduce){.hp-root .hp-rise{transition:none;opacity:1;transform:none}.hp-root .hp-futaba-stage path{animation:none!important;stroke-dashoffset:0}.hp-root .hp-futaba-stage .hp-halo{animation:none!important;opacity:.14}.hp-root .hp-scroll-cue:after{animation:none}}