@font-face{font-family:Montserrat;src:url(/fonts/Montserrat-VariableFont_wght.ttf)format("truetype");font-weight:100 900;font-style:normal;font-display:swap}:root{--bg:#0a0a0a;--bg-1:#0e0e0e;--surface:#131313;--surface-2:#181818;--line:#ffffff12;--line-2:#ffffff24;--text:#fff;--text-2:#c4c4c4;--text-3:#a8a8a8;--accent:#e8b537;--accent-hi:#f6d569;--accent-glow:#e8b53738;--ease:cubic-bezier(.2, .7, .2, 1);--dur-fast:.3s;--dur:.4s;--dur-slow:.9s;--radius:2px;--radius-0:0px;--hairline:1px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:40px;--space-7:66px;--space-8:130px;--font-sans:"Montserrat", "Noto Sans JP", sans-serif;--font-jp:"Noto Sans JP", "Montserrat", sans-serif;--fs-body:15px;--lh-body:1.8;--ls-body:.01em;--fw-body:400;--ls-label:.3em;--ls-kicker:.34em;--ls-brand:.42em;--ls-nav:.18em}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;background:var(--bg);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}html,body{min-height:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}#bg-layer{background:var(--bg);z-index:-1;position:fixed;inset:0}body{background:var(--bg);color:var(--text);font-family:var(--font-sans);font-weight:var(--fw-body);line-height:var(--lh-body);letter-spacing:var(--ls-body);font-size:var(--fs-body);-webkit-font-smoothing:antialiased;overflow-x:hidden}.wrap{max-width:1080px;padding:0 var(--space-6);margin:0 auto}@media (width<=720px){.wrap{padding:0 var(--space-5)}}::selection{background:var(--accent);color:var(--bg)}#progress{background:linear-gradient(90deg, var(--accent-glow), var(--accent));z-index:100;width:0;height:2px;transition:width .1s linear;position:fixed;top:0;left:0}header{z-index:90;transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease), backdrop-filter var(--dur);border-bottom:var(--hairline) solid transparent;position:fixed;top:0;left:0;right:0}header.scrolled{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:var(--hairline) solid var(--line);background:#0a0a0ab8}.nav{justify-content:space-between;align-items:center;height:78px;display:flex}.brand-lockup{color:var(--text);align-items:center;gap:13px;text-decoration:none;display:flex}.brand-lockup svg{width:26px;height:auto;display:block}.brand-word{font-family:var(--font-sans);letter-spacing:var(--ls-brand);color:var(--text);padding-left:var(--ls-brand);font-size:16px;font-weight:400;line-height:1}.brand-word-block{flex-direction:column;align-items:flex-start;display:flex}.brand-tag{letter-spacing:.22em;text-transform:uppercase;color:var(--text-3);margin-top:4px;font-size:8.5px;font-weight:400;line-height:1}.nav-links{align-items:center;gap:40px;display:flex}.nav-links a{font-family:var(--font-sans);letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--text-2);transition:color var(--dur-fast) var(--ease);padding:4px 0;font-size:12.5px;font-weight:400;text-decoration:none;position:relative}.nav-links a:after{content:"";height:var(--hairline);background:var(--accent);width:0;transition:width .35s var(--ease);position:absolute;bottom:-2px;left:0}.nav-links a:hover{color:var(--text)}.nav-links a:hover:after{width:100%}.btn{font-family:var(--font-sans);letter-spacing:.08em;border-radius:var(--radius);cursor:pointer;transition:all .32s var(--ease);border:var(--hairline) solid transparent;align-items:center;gap:10px;padding:13px 26px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.btn-accent{background:var(--accent);color:var(--bg);box-shadow:0 0 0 0 var(--accent-glow)}.btn-accent:hover{background:var(--accent-hi);box-shadow:0 8px 34px -8px var(--accent-glow);transform:translateY(-1px)}.btn-ghost{color:var(--text);border:var(--hairline) solid var(--line-2);background:0 0}.btn-ghost:hover{border-color:var(--accent);color:var(--accent-hi)}.nav .btn{padding:11px 22px}@media (width<=860px){.nav-links{display:none}}.hero{flex-direction:column;justify-content:center;min-height:100vh;padding-top:78px;display:flex;position:relative;overflow:hidden}.hero-motif{z-index:0;pointer-events:none;width:min(86vw,760px);height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-54%)}.hero-motif .cat-path{fill:none;stroke:#ffffff1f;stroke-width:1px;vector-effect:non-scaling-stroke}.hero-inner{z-index:2;position:relative}.kicker{font-family:var(--font-sans);letter-spacing:var(--ls-kicker);text-transform:uppercase;color:var(--accent);align-items:center;margin-bottom:30px;font-size:11px;font-weight:500;display:inline-flex}.hero h1{font-family:var(--font-sans);letter-spacing:.045em;max-width:16em;margin-bottom:30px;font-size:clamp(2rem,5.4vw,4rem);font-weight:600;line-height:1.32}.hero h1 .accent{color:var(--accent)}.hero h1 .thin{font-weight:200}.hero p.sub{color:var(--text-2);max-width:38em;margin-bottom:44px;font-size:clamp(.95rem,1.5vw,1.0625rem);font-weight:300;line-height:2.1}.hero-cta{flex-wrap:wrap;gap:16px;display:flex}section.block{padding:calc(var(--space-7) + var(--space-5)) 0;position:relative}.sec-head{margin-bottom:var(--space-7)}.sec-label{font-family:var(--font-sans);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--accent);align-items:center;margin-bottom:16px;font-size:11px;font-weight:500;display:inline-flex}.sec-title{font-family:var(--font-sans);letter-spacing:.04em;font-size:clamp(1.6rem,3.4vw,2.4rem);font-weight:600;line-height:1.4}.sec-lead{color:var(--text-2);max-width:54em;margin-top:22px;line-height:2.1}.cards{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}@media (width<=720px){.cards{gap:var(--space-4);grid-template-columns:1fr}}.card{background:var(--surface);border:var(--hairline) solid var(--line);transition:background var(--dur) var(--ease), border-color var(--dur) var(--ease);flex-direction:column;padding:30px 28px;display:flex;position:relative;overflow:hidden}.card:before{content:"";background:var(--accent);transform-origin:0;width:100%;height:2px;transition:transform .45s var(--ease);position:absolute;top:0;left:0;transform:scaleX(0)}.card:hover{background:var(--surface-2);border-color:var(--line-2)}.card:hover:before{transform:scaleX(1)}.card-name{font-family:var(--font-sans);letter-spacing:.04em;margin:0 0 4px;font-size:21px;font-weight:500}.card-role{font-family:var(--font-sans);letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin-bottom:18px;font-size:11px;font-weight:400}.card-desc{color:var(--text-2);margin-bottom:26px;font-size:14px;font-weight:400;line-height:1.9}.card-for{color:var(--text);border-top:var(--hairline) solid var(--line);align-items:baseline;gap:10px;padding:12px 0;font-size:13px;display:flex}.card-for .lbl{color:var(--text-3);white-space:nowrap;font-size:12px}.card-meta{border-top:var(--hairline) solid var(--line);justify-content:space-between;align-items:baseline;margin-top:auto;padding-top:18px;display:flex}.card-term{color:var(--text-2);letter-spacing:.06em;font-size:12px}.card-price{font-family:var(--font-sans);letter-spacing:.02em;color:var(--text);font-size:19px;font-weight:500}.card-price small{color:var(--text-3);font-size:12px;font-weight:300}.price-note{border-left:2px solid var(--accent);background:var(--surface);color:var(--text-2);margin-top:34px;padding:22px 28px;font-size:14px;line-height:2}.figure{text-align:center;margin-top:80px}.figure-cap{font-family:var(--font-sans);letter-spacing:.04em;color:var(--text);margin-bottom:36px;font-size:21px;font-weight:500}.service-map{width:100%;max-width:560px;height:auto;margin:0 auto;display:block}.figure-note{max-width:54em;color:var(--text-2);margin:34px auto 0;font-size:13.5px;line-height:2}.flow{grid-template-columns:repeat(4,1fr);gap:0;display:grid}@media (width<=820px){.flow{grid-template-columns:1fr}}.step{padding:32px 24px 0;position:relative}.step:before{content:"";background:var(--accent);border-radius:50%;width:12px;height:12px;position:absolute;top:0;left:24px;transform:translateY(-50%)}.step:not(:last-child):after{content:"";height:var(--hairline);background:var(--line);position:absolute;top:0;left:36px;right:0}.step:last-child:after{content:"";height:var(--hairline);background:linear-gradient(90deg, var(--line), transparent);position:absolute;top:0;left:36px;right:50%}@media (width<=820px){.step{padding:28px 0 28px 28px}.step:before{top:28px;left:0;transform:none}}.step-title{letter-spacing:.04em;margin-bottom:10px;font-size:16px;font-weight:500}.step-desc{color:var(--text-2);font-size:13.5px;line-height:1.9}.flow-loop{text-align:center;color:var(--text-3);letter-spacing:.16em;font-size:12.5px;font-style:italic;font-family:var(--font-sans);margin-top:50px}.about-origin{color:var(--text-2);border-left:2px solid var(--accent-glow);background:var(--surface);max-width:54em;margin:0 auto 60px;padding:28px 32px;font-size:15px;line-height:2}.about-origin p{color:inherit;font-size:inherit;line-height:inherit}.about-origin>p+p{margin-top:1em}@media (width<=640px){.about-origin{padding:22px}}.traits{gap:var(--hairline);background:var(--line);border:var(--hairline) solid var(--line);grid-template-columns:repeat(3,1fr);margin-bottom:70px;display:grid}@media (width<=820px){.traits{grid-template-columns:1fr}}.trait{background:var(--surface);padding:42px 36px}.trait-eyebrow{font-family:var(--font-sans);letter-spacing:var(--ls-label);text-transform:uppercase;color:var(--accent);margin-bottom:14px;font-size:11px;font-weight:500;line-height:1}.trait-jp{font-family:var(--font-jp);letter-spacing:.03em;color:var(--text);margin:0 0 14px;font-size:17px;font-weight:600;line-height:1.6}.trait-en{font-family:var(--font-sans);letter-spacing:.06em;color:var(--text-3);margin:0;font-size:13px;font-weight:400;line-height:1.6}.trait-note{font-family:var(--font-jp);letter-spacing:var(--ls-body);color:var(--text-3);margin:14px 0 0;font-size:13px;font-weight:400;line-height:1.8}.profile{border-top:var(--hairline) solid var(--line)}.profile-row{border-bottom:var(--hairline) solid var(--line);grid-template-columns:200px 1fr;gap:30px;padding:22px 0;display:grid}@media (width<=640px){.profile-row{grid-template-columns:1fr;gap:6px}}.profile-row dt{font-family:var(--font-sans);letter-spacing:.2em;text-transform:uppercase;color:var(--text-3);padding-top:3px;font-size:11px;font-weight:500}.profile-row dd{color:var(--text);font-size:14.5px;line-height:1.85}.profile-row dd .en{color:var(--text-3);letter-spacing:.04em;font-size:12px}.profile-row dd a{color:var(--accent);text-decoration:none}.faq{border-top:var(--hairline) solid var(--line)}.faq-item{border-bottom:var(--hairline) solid var(--line)}.faq-q{cursor:pointer;width:100%;color:var(--text);text-align:left;letter-spacing:.02em;background:0 0;border:none;padding:22px 50px 22px 0;font-family:inherit;font-size:16px;font-weight:400;line-height:1.6;position:relative}.faq-q .plus{width:16px;height:16px;transition:transform var(--dur) var(--ease);position:absolute;top:50%;right:4px;transform:translateY(-50%)}.faq-q .plus:before,.faq-q .plus:after{content:"";background:var(--accent);transition:opacity var(--dur-fast);position:absolute}.faq-q .plus:before{width:16px;height:1.5px;top:7px;left:0}.faq-q .plus:after{width:1.5px;height:16px;top:0;left:7px}.faq-item.open .plus:after{opacity:0}.faq-a{max-height:0;transition:max-height .45s var(--ease);overflow:hidden}.faq-a-inner{color:var(--text-2);padding:0 50px 26px 0;font-size:14.5px;font-weight:400;line-height:2}.faq-a-inner a{color:var(--text);border-bottom:var(--hairline) solid var(--accent);transition:color var(--dur-fast);text-decoration:none}.faq-a-inner a:hover{color:var(--accent)}.contact-grid{grid-template-columns:1fr 1fr;align-items:start;gap:70px;display:grid}@media (width<=820px){.contact-grid{grid-template-columns:1fr;gap:44px}}.contact-pitch h3{font-family:var(--font-sans);letter-spacing:.03em;margin-bottom:26px;font-size:clamp(1.5rem,3vw,2rem);font-weight:600;line-height:1.5}.contact-pitch p{color:var(--text-2);max-width:54em;margin-bottom:30px;line-height:2.1}.contact-pitch a{color:var(--accent);border-bottom:var(--hairline) solid transparent;transition:border-color var(--dur-fast);text-decoration:none}.contact-pitch a:hover{border-color:var(--accent)}.field{margin-bottom:var(--space-5)}.field label{font-family:var(--font-sans);letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--text-3);margin-bottom:10px;font-size:11px;font-weight:500;display:block}.field input,.field textarea{background:var(--surface);border:var(--hairline) solid var(--line);width:100%;color:var(--text);border-radius:var(--radius);transition:border-color var(--dur-fast) var(--ease);resize:vertical;padding:14px 16px;font-family:inherit;font-size:15px}.field input:focus,.field textarea:focus{border-color:var(--accent);outline:none}.field textarea{min-height:130px}#form-btn{justify-content:center;width:100%}.field-error{color:var(--accent);margin-top:4px;font-size:12px}.form-thanks{color:var(--accent);letter-spacing:.04em;margin-top:18px;font-size:14px}footer{border-top:var(--hairline) solid var(--line);padding:80px 0 56px}.foot-top{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:40px;margin-bottom:60px;display:flex}.foot-nav{flex-wrap:wrap;gap:36px;display:flex}.foot-nav a{font-family:var(--font-sans);letter-spacing:var(--ls-nav);text-transform:uppercase;color:var(--text-2);transition:color var(--dur-fast);font-size:11px;text-decoration:none}.foot-nav a:hover{color:var(--accent)}.foot-bottom{text-align:center;flex-wrap:wrap;justify-content:center;align-items:center;gap:20px;display:flex}.foot-bottom span,.foot-bottom a{color:var(--text-3);letter-spacing:.08em;font-size:11px;text-decoration:none}.foot-bottom a:hover{color:var(--text-2)}@media (prefers-reduced-motion:no-preference){.reveal{opacity:0;transition:opacity var(--dur-slow) var(--ease), transform var(--dur-slow) var(--ease);transform:translateY(22px)}.reveal.in{opacity:1;transform:none}.reveal.d1{transition-delay:80ms}.reveal.d2{transition-delay:.16s}.reveal.d3{transition-delay:.24s}}.br-pc-only{display:inline}.br-mobile-only{display:none}@media (width<=640px){.br-pc-only{display:none}.br-mobile-only{display:inline}section.block{padding:28px 0}.hero{justify-content:flex-start;min-height:auto;padding-top:132px;padding-bottom:72px}.hero h1{margin-bottom:24px}.hero p.sub{margin-bottom:32px}.hero-cta{gap:12px;width:100%}.hero-cta .btn{flex:auto;justify-content:center}.sec-head{margin-bottom:44px}.card{padding:32px 24px}.price-note{padding:20px 22px}.traits{margin-bottom:48px}.nav{height:64px}.nav .btn{letter-spacing:.04em;padding:10px 16px;font-size:12px}.brand-word{letter-spacing:.3em;padding-left:.3em;font-size:14px}.brand-lockup svg{width:22px}footer{padding:60px 0 44px}.foot-top{gap:28px;margin-bottom:40px}.contact-pitch h3{font-size:1.5rem}}@media (width<=400px){.wrap{padding:0 18px}.hero h1{font-size:1.85rem}}
