:root{--ink:#101311;--ivory:#f7f3ea;--gold:#efba59;--muted:#d4cbbb;--serif:'Noto Serif JP',serif;--latin:'Cormorant Garamond',Georgia,serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:var(--ink);color:var(--ivory);font-family:var(--serif);font-weight:500;font-size:16px;line-height:1.85}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:3px solid var(--gold);outline-offset:6px}::selection{background:var(--gold);color:var(--ink)}p,h1,h2,h3,dl,dd{margin:0}img{max-width:100%;height:auto}button{color:inherit}section{scroll-margin-top:24px}.skip{position:fixed;top:-90px;left:20px;z-index:100;background:var(--gold);color:var(--ink);padding:10px 20px}.skip:focus{top:10px}.hero{height:670px;position:relative;isolation:isolate;overflow:hidden}.hero-video,.hero-shade{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:-2}.hero-video{object-position:center 45%}.hero-shade{z-index:-1;background:linear-gradient(90deg,rgba(5,9,8,.87) 0%,rgba(5,9,8,.72) 38%,rgba(5,9,8,.58) 72%,rgba(5,9,8,.65) 100%)}.header{height:88px;display:flex;align-items:center;justify-content:space-between;padding:0 4.4%;gap:24px}.brand{display:flex;align-items:center;white-space:nowrap;gap:24px}.brand>span{font-family:var(--latin);font-size:42px;letter-spacing:.01em;line-height:1}.brand small{border-left:1px solid #c8c1b2;padding-left:24px;font-size:16px;letter-spacing:.1em}.header nav{display:flex;align-items:center;gap:30px;font-size:13px;letter-spacing:.05em}.header nav>a:not(.button):hover{color:var(--gold)}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:24px;min-height:62px;padding:14px 28px;background:linear-gradient(115deg,#ffda86,#edb451);border:1px solid #d1a151;border-radius:3px;color:#17150f;font-size:20px;font-weight:700;box-shadow:0 4px 10px #0002;transition:filter .2s,transform .2s}.button:hover{filter:brightness(1.08);transform:translateY(-2px)}.button.compact{min-height:48px;padding:10px 24px;font-size:14px}.hero-content{position:absolute;left:4.4%;top:155px;max-width:700px}.hero h1{font-size:clamp(54px,5.25vw,80px);line-height:1.35;font-weight:600;letter-spacing:.025em}.hero-lead{margin-top:18px;font-size:21px;letter-spacing:.015em}.hero-cta{margin-top:30px;min-width:430px}.hero-price{display:flex;align-items:center;gap:27px;margin-top:14px;font-size:24px;line-height:1.2}.hero-price>span+span{border-left:1px solid #a59d8e;padding-left:27px}.hero-price strong{font-family:var(--latin);font-size:68px;font-weight:500}.hero-price small{font-size:20px}.film-button{position:absolute;left:64%;top:45%;transform:translate(-50%,-5%);display:flex;align-items:center;flex-direction:column;gap:10px;border:0;background:none;text-shadow:0 2px 6px #000;font-size:18px}.play-circle{width:134px;height:134px;border:2px solid var(--ivory);border-radius:50%;display:grid;place-items:center;background:#15171338;transition:background .2s}.film-button:hover .play-circle{background:#15171388}.play-circle img{width:44px;height:44px;filter:brightness(0) invert(1)}.film-button small{display:block;font-size:12px;letter-spacing:.1em}.vertical-copy{position:absolute;top:135px;right:5%;writing-mode:vertical-rl;font-size:16px;letter-spacing:.3em;line-height:2.4}.motion-toggle{position:absolute;right:24px;bottom:16px;background:#101311cc;border:1px solid #c6bda8;padding:5px 12px;font-size:11px}.clients{background:var(--ivory);color:var(--ink);height:204px;padding:23px 4.4% 30px}.clients h2{font-size:21px;text-align:center;font-weight:600;display:flex;align-items:center;justify-content:center;gap:30px}.clients h2:before,.clients h2:after{content:'';height:1px;width:180px;background:#938779}.client-logos{display:flex;align-items:center;justify-content:space-between;gap:48px;margin-top:28px}.client-logo{position:relative;flex-shrink:0}.client-logo img{display:block;width:100%;height:100%;object-fit:contain}.deloitte{height:96px}.jcom{height:96px}.taiyo{height:96px}.nac{height:96px}.approach{display:grid;grid-template-columns:36% 64%;min-height:630px;position:relative}.story-visual{position:relative;overflow:hidden}.story-visual>img{width:100%;height:100%;object-fit:cover;object-position:44% center;opacity:.64;position:absolute;inset:0}.story-shade{position:absolute;inset:0;background:linear-gradient(90deg,#10131100 45%,#101311 100%),linear-gradient(0deg,#101311 0%,#10131100 75%)}.story-visual>p{position:absolute;left:12%;bottom:175px;font-size:18px;letter-spacing:.1em;line-height:2}.story-visual>small{position:absolute;left:12%;bottom:38px;font:12px/1.9 var(--latin);letter-spacing:.5em}.approach-content{padding:48px 6.8% 42px 0}.approach-intro{display:flex;justify-content:space-between;align-items:center;gap:30px}.approach h2{font-size:48px;line-height:1.45;letter-spacing:.015em;font-weight:600;white-space:nowrap}.approach-intro>p{font-size:15px;line-height:2.1;max-width:310px}.metrics{display:grid;grid-template-columns:1fr 1.4fr;margin-top:34px}.metrics>div+div{border-left:1px solid #89877b;padding-left:52px}.metrics dt{font-size:25px;letter-spacing:.03em}.metrics dd{font-size:52px;line-height:1.05;white-space:nowrap}.metrics strong{font:500 150px/1 var(--latin);letter-spacing:-.03em}.metric-note{margin-top:4px;text-align:right;font-size:12px;color:var(--muted)}.career{margin-top:30px}.career-steps{display:flex;align-items:center;gap:26px;font-size:29px;white-space:nowrap}.career-steps i{height:1px;background:#8c8a80;flex:1}.career>p+p{font-size:18px;line-height:1.9;margin-top:18px}.pricing{display:grid;grid-template-columns:24% 43% 33%;align-items:center;min-height:290px;background:var(--ivory);color:var(--ink);padding:34px 4.4%;gap:0}.pricing h2{font-size:34px;line-height:1.5;font-weight:600}.price-detail{border-left:1px solid #a99b82;padding-left:48px}.amount{font-size:44px;line-height:1.15;white-space:nowrap}.amount strong{font:600 122px/.9 var(--latin)}.amount small{font-size:23px}.plans{font-size:21px;margin:10px 0 0;font-weight:600;white-space:nowrap}.plans span{padding:0 3px}.price-detail>p:last-child{font-size:20px}.price-action{border-left:1px solid #a99b82;padding-left:42px}.price-action>p{font-size:14px;line-height:1.8;margin-bottom:20px}.price-action .button{font-size:18px;padding:12px 22px;min-height:54px;width:100%}.flow{padding:70px 4.4% 80px;background:#eae4d9;color:var(--ink)}.flow>h2{text-align:center;font-size:34px;font-weight:600}.flow ol{list-style:none;padding:0;margin:40px auto 0;display:grid;grid-template-columns:repeat(4,1fr);max-width:1220px}.flow li{padding:0 30px;border-right:1px solid #b6aa96}.flow li:first-child{padding-left:0}.flow li:last-child{border:0;padding-right:0}.flow li>span{font:28px var(--latin);color:#6e5634}.flow h3{font-size:20px;margin:6px 0 12px}.flow li p{font-family:system-ui,sans-serif;font-size:14px;line-height:1.9}.contact{background:var(--ivory);color:var(--ink);padding:74px 24px 50px}.contact-heading{text-align:center;margin-bottom:42px}.contact h2{font-size:38px;font-weight:600}.contact-heading p{font-family:system-ui,sans-serif;font-size:16px;margin-top:16px}.hs-form-frame{max-width:820px;margin:auto;min-height:500px;background:#fff}.form-fallback{text-align:center;margin-top:24px;font-family:system-ui,sans-serif;font-size:13px}.form-fallback a{text-decoration:underline;text-underline-offset:4px}.contact a:focus-visible{outline-color:#735011}footer{display:flex;justify-content:space-between;align-items:center;padding:40px 4.4%;gap:30px}footer .brand>span{font-size:30px}footer .brand small{font-size:12px}footer>div{display:flex;align-items:center;gap:25px;font-size:12px}footer a:hover{text-decoration:underline;text-underline-offset:4px}dialog{border:1px solid #8c7c60;background:var(--ink);color:var(--ivory);padding:18px;width:min(1100px,94vw);max-height:94dvh;overflow:auto}dialog::backdrop{background:rgba(0,0,0,.88)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:14px}.dialog-header h2{font-size:18px}.dialog-header button{background:none;border:1px solid #a49376;padding:6px 18px;min-height:42px}.dialog-header button:hover{background:#332e24}#full-video{width:100%;display:block;max-height:75dvh}#video-error{font-family:system-ui,sans-serif;font-size:14px;padding:12px}#video-error a{text-decoration:underline}body.dialog-open{overflow:hidden}
@media(min-width:1600px){.hero{height:760px}.hero-content{top:190px}.approach-content{padding-right:10%}.clients{height:225px}.client-logos{max-width:1360px;margin:32px auto 0}}
@media(max-width:1200px){.header nav{gap:20px;font-size:12px}.brand>span{font-size:34px}.brand{gap:16px}.brand small{padding-left:16px}.header .compact{font-size:12px;padding:10px 15px}.hero{height:620px}.hero-content{top:150px}.hero h1{font-size:68px}.hero-lead{font-size:17px}.hero-cta{min-width:370px}.client-logos{gap:25px}.deloitte{width:22%}.jcom{width:20%}.taiyo{width:26%}.nac{width:20%}.approach h2{font-size:39px}.approach-intro{align-items:flex-start;flex-direction:column;gap:18px}.approach-intro>p{max-width:none}.approach-intro>p br{display:none}.metrics{margin-top:26px}.metrics strong{font-size:120px}.metrics dd{font-size:42px}.metrics dt{font-size:22px}.metrics>div+div{padding-left:32px}.career-steps{font-size:24px}.career>p+p{font-size:16px}.pricing{grid-template-columns:23% 44% 33%}.pricing h2{font-size:27px}.price-detail{padding-left:24px}.amount{font-size:35px}.amount strong{font-size:100px}.amount small{font-size:18px}.plans{font-size:16px}.price-action{padding-left:24px}.price-action .button{font-size:15px}.clients h2{font-size:18px}.clients{height:185px}}
@media(max-width:760px){html{scroll-padding-top:12px}.header{height:65px;padding:0 20px}.brand>span{font-size:27px}.brand{gap:11px}.brand small{font-size:12px;padding-left:11px}.header nav{display:none}.hero{height:565px}.hero-video{object-position:50% center}.hero-shade{background:linear-gradient(90deg,#050908bf,#05090899),linear-gradient(0deg,#05090833,#05090800 65%)}.hero-content{left:22px;right:22px;top:95px}.hero h1{font-size:clamp(32px,9.8vw,53px);line-height:1.4;letter-spacing:.02em}.hero-lead{font-size:14px;max-width:290px;line-height:1.9;margin-top:14px}.hero-cta{position:absolute;margin-top:0;top:350px;left:0;right:0;width:100%;min-width:0;min-height:52px;font-size:17px;padding:12px 20px;justify-content:center;gap:22px}.hero-price{margin-top:16px;font-size:17px;gap:14px}.hero-price strong{font-size:45px}.hero-price small{font-size:13px}.hero-price>span+span{padding-left:14px}.film-button{left:50%;top:345px;transform:translateX(-50%);gap:5px;font-size:12px}.play-circle{width:55px;height:55px}.play-circle img{width:27px;height:27px}.film-button small{display:none}.vertical-copy{display:none}.motion-toggle{font-size:10px;right:22px;bottom:12px;padding:3px 8px}.clients{height:auto;padding:22px 22px 25px}.clients h2{font-size:12px;gap:12px;white-space:nowrap}.clients h2:before,.clients h2:after{width:20px}.client-logos{display:grid;grid-template-columns:1fr 1fr;gap:22px 35px;margin-top:23px;align-items:center;justify-items:center}.client-logo{width:100%}.deloitte{max-width:144px}.jcom{max-width:128px}.taiyo{max-width:157px}.nac{max-width:128px}.approach{display:block;min-height:0;position:relative;isolation:isolate;padding:45px 22px}.story-visual{position:absolute;inset:0;z-index:-1;opacity:.25}.story-visual>img{object-position:35% center}.story-shade{background:#10131188}.story-visual>p,.story-visual>small{display:none}.approach-content{padding:0}.approach-intro{gap:20px}.approach h2{font-size:33px;line-height:1.5;white-space:normal}.approach-intro>p{font-size:14px;line-height:2}.metrics{margin-top:30px;grid-template-columns:1fr 1.45fr}.metrics dt{font-size:16px}.metrics dd{font-size:32px}.metrics strong{font-size:84px}.metrics>div+div{padding-left:22px}.metric-note{font-size:10px;margin-top:12px}.career{margin-top:27px}.career-steps{font-size:18px;gap:12px}.career>p+p{font-size:13px;line-height:2;margin-top:18px}.career>p+p br{display:none}.pricing{display:block;padding:37px 22px}.pricing h2{font-size:27px}.pricing h2 br{display:initial}.price-detail{border:0;padding:24px 0}.amount{font-size:34px}.amount strong{font-size:90px}.amount small{font-size:18px}.plans{font-size:17px}.price-detail>p:last-child{font-size:16px}.price-action{border:0;border-top:1px solid #b9ac96;padding:20px 0 0}.price-action>p{font-size:13px;margin-bottom:20px}.price-action .button{justify-content:center;gap:24px;font-size:17px}.flow{padding:40px 22px}.flow>h2{font-size:27px;text-align:left}.flow ol{grid-template-columns:1fr;margin-top:20px}.flow li,.flow li:first-child,.flow li:last-child{border:0;border-bottom:1px solid #b6aa96;padding:18px 0;display:grid;grid-template-columns:40px 1fr;gap:0 12px}.flow h3{margin:0 0 6px;font-size:18px}.flow li>span{grid-row:span 2;font-size:26px}.flow li p{font-size:13px}.contact{padding:44px 12px 30px}.contact-heading{margin:0 10px 25px;text-align:left}.contact h2{font-size:24px}.contact-heading p{font-size:14px}.contact-heading br{display:none}.form-fallback{font-size:12px;text-align:left;margin:20px 10px}.hs-form-frame{min-height:700px}footer{display:block;padding:30px 22px}footer .brand>span{font-size:27px}footer>div{margin-top:22px;display:flex;align-items:flex-start;flex-direction:column;gap:12px}dialog{padding:12px}.dialog-header{margin-bottom:10px}.dialog-header h2{font-size:15px}.dialog-header button{font-size:13px;padding:5px 12px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.button:hover{transform:none}}

@media(max-width:350px){.metrics strong{font-size:69px}.metrics dd{font-size:27px}.metrics dt{font-size:14px}.metrics>div+div{padding-left:16px}.plans{font-size:14px}.clients h2{font-size:11px}.clients h2:before,.clients h2:after{width:10px}.hero-price{font-size:15px}.hero-price small{font-size:11px}.hero-lead{font-size:13px}.career-steps{font-size:16px}.contact h2{font-size:23px}}

/* Continuous client logo strip. Each equal-width group creates a seamless loop. */
.clients{height:auto;padding-bottom:16px;overflow:hidden}.client-marquee{overflow:hidden;max-width:1280px;margin:28px auto 0}.client-track{display:flex;width:max-content;animation:client-scroll 26s linear infinite}.client-track .client-logos{display:flex;align-items:center;justify-content:space-around;gap:64px;width:1280px;max-width:none;margin:0;padding-right:64px}.client-track .deloitte{width:260px;max-width:none}.client-track .jcom{width:180px;max-width:none}.client-track .taiyo{width:280px;max-width:none}.client-track .nac{width:220px;max-width:none}.logos-toggle{display:block;margin:12px 0 0 auto;border:0;background:none;color:#625a4b;font-size:11px;min-height:28px;padding:2px 6px;text-decoration:underline;text-underline-offset:3px}.client-marquee:hover .client-track,.clients[data-paused="true"] .client-track{animation-play-state:paused}@keyframes client-scroll{to{transform:translateX(-50%)}}
@media(max-width:760px){.client-marquee{margin-top:23px}.client-track{animation-duration:22s}.client-track .client-logos{width:760px;gap:40px;padding-right:40px}.client-track .deloitte{width:160px}.client-track .jcom{width:100px}.client-track .taiyo{width:170px}.client-track .nac{width:140px}}
@media(prefers-reduced-motion:reduce){.client-track{animation:none;width:100%}.client-track .client-logos{width:100%;padding:0;gap:25px;flex-wrap:wrap}.client-track .client-logos[aria-hidden="true"],.logos-toggle{display:none}.client-track .client-logo{max-width:40%}}

@media(max-width:760px){.client-track .client-logo{height:68px}}

/* Local review of proposed HubSpot fields; the published form stays external. */
.brand{gap:0}.brand small{border:0;padding-left:0;letter-spacing:0}.preview-form{padding:32px;font:16px/1.6 system-ui,sans-serif;color:#17241e}.preview-form h3{font-size:26px;margin:24px 0 12px}.preview-notice{padding:12px;background:#f7f3ea;color:#63563c;font-size:13px}.preview-client-title{margin-top:24px;font-weight:600}.preview-client-image{display:block;width:100%;height:auto;margin:12px 0 24px}.preview-form label{display:block;margin:20px 0 0}.preview-form input:not([type=checkbox]),.preview-form textarea{display:block;width:100%;padding:12px;margin-top:8px;border:1px solid #a6aca9;border-radius:3px;background:#fff;color:#17241e;font:inherit}.preview-form :is(input,textarea):focus-visible{outline:2px solid #986519;outline-offset:2px}.preview-row{display:grid;grid-template-columns:1fr 1fr;gap:24px}.preview-form fieldset{border:0;padding:0;margin:28px 0 0;min-width:0}.preview-form legend{font-weight:600;margin-bottom:4px}.preview-form fieldset label{display:flex;align-items:flex-start;gap:10px;margin-top:12px}.preview-form input[type=checkbox]{width:19px;height:19px;flex-shrink:0;margin:3px 0 0;accent-color:#806027}.preview-delivery{font-size:13px;color:#5b655f;margin:12px 0 24px}.preview-form button:disabled{cursor:not-allowed;opacity:.6}.preview-form button:disabled:hover{transform:none;filter:none}
@media(max-width:760px){.preview-form{padding:20px 16px}.preview-row{grid-template-columns:1fr;gap:0}.preview-form h3{font-size:22px}.hero-price{font-size:15px;gap:12px}.hero-price>span+span{padding-left:12px;white-space:nowrap}.brand small{padding-left:0}.hero-lead{max-width:none}}

/* AI tools: provider marks above a compact model strip. */
.header .brand>span,footer .brand>span{font-size:30px;line-height:1.3}.brand{white-space:nowrap}.ai-tools{padding:64px 4.4% 48px;background:var(--ink);border-top:1px solid #746b574d;overflow:hidden}.ai-tools-intro{display:flex;justify-content:space-between;align-items:center;gap:36px}.ai-tools h2{font-size:38px;font-weight:600;line-height:1.55}.ai-tools-intro>p{font-size:14px;line-height:2;color:var(--muted)}.ai-tools h3{font-family:system-ui,sans-serif;font-size:12px;letter-spacing:.08em;font-weight:500;color:var(--muted)}.ai-tools>h3{margin-top:36px}.ai-services{list-style:none;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:28px 40px;margin:22px 0 38px}.ai-services li,.ai-models li{display:flex;align-items:center;gap:14px;font-family:system-ui,sans-serif;white-space:nowrap}.ai-services li{font-size:25px;font-weight:500;min-height:44px}.ai-brand-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex-shrink:0}.ai-brand-icon img{display:block;width:100%;height:100%;object-fit:contain}.ai-model-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #746b574d;padding-top:24px}.ai-model-toggle{background:none;border:0;color:var(--muted);font-size:11px;padding:6px 0;text-decoration:underline;text-underline-offset:4px}.ai-model-viewport{overflow:hidden;margin-top:24px}.ai-model-track{display:flex;width:max-content;animation:ai-model-scroll 65s linear infinite}.ai-models{display:flex;gap:44px;align-items:center;list-style:none;padding:0 44px 0 0;margin:0}.ai-models li{font-size:18px;gap:10px}.ai-models .ai-brand-icon{width:24px;height:24px}.ai-tools[data-paused="true"] .ai-model-track,.ai-model-viewport:hover .ai-model-track{animation-play-state:paused}.ai-tools-note{font-family:system-ui,sans-serif;font-size:12px;color:var(--muted);margin-top:26px}@keyframes ai-model-scroll{to{transform:translateX(-50%)}}
@media(max-width:1100px){.header .brand>span{font-size:26px}.header nav{gap:16px}.ai-tools-intro{align-items:flex-start;flex-direction:column;gap:20px}}
@media(max-width:760px){.header .brand>span,footer .brand>span{font-size:22px}.ai-tools{padding:40px 22px 34px}.ai-tools h2{font-size:25px}.ai-tools-intro>p{font-size:13px}.ai-tools-intro>p br{display:none}.ai-services{grid-template-columns:repeat(2,1fr);gap:24px 18px;margin-bottom:28px}.ai-services li{font-size:18px;gap:10px}.ai-brand-icon{width:28px;height:28px}.ai-model-heading{align-items:flex-start;gap:12px}.ai-model-toggle{font-size:10px;padding-top:0}.ai-models li{font-size:16px}.ai-models{gap:30px;padding-right:30px}}
@media(prefers-reduced-motion:reduce){.ai-model-track{animation:none;width:100%}.ai-models{flex-wrap:wrap;gap:20px 28px;padding:0}.ai-models[aria-hidden="true"],.ai-model-toggle{display:none}}

.ai-tools{background:var(--ivory);color:var(--ink);border-top:0;border-bottom:1px solid #cfc6b5}.ai-tools-intro>p,.ai-tools h3,.ai-model-toggle,.ai-tools-note{color:#625948}.ai-tools :is(button,a):focus-visible{outline-color:#805c21}

.ai-brand-icon:empty{display:none}
.preview-help,.preview-error{font-size:13px;margin:8px 0 0}.preview-help{color:#5b655f}.preview-error{color:#a12525}.preview-form input[aria-invalid=true]{border-color:#a12525}.preview-consent{font-size:14px;line-height:1.8}.preview-consent p{margin:16px 0}.preview-consent a{text-decoration:underline;text-underline-offset:3px}
