:root{--ink:#202622;--muted:#60665f;--paper:#f6f5f1;--orange:#f37021;--accent:#ad4619;--line:#dcded5;--white:#fff;--max:1240px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:110px}body{margin:0;background:var(--white);color:var(--ink);font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif;font-size:16px;line-height:1.9;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}img,svg{max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{font-feature-settings:"palt";overflow-wrap:anywhere}a,button{touch-action:manipulation}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:5px}button:disabled{cursor:not-allowed;opacity:.5}[hidden]{display:none!important}.container{width:min(var(--max),calc(100% - 112px));margin-inline:auto}.section{padding-block:112px}.eyebrow{font-family:Arial,sans-serif;font-size:11px;font-weight:700;letter-spacing:.16em;line-height:1.6;display:flex;align-items:center;gap:10px;margin-bottom:28px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--orange);flex-shrink:0}.accent{color:var(--accent)}h2{font-size:clamp(28px,3.1vw,42px);line-height:1.65;letter-spacing:.02em}p{overflow-wrap:anywhere}.skip{position:fixed;top:0;left:20px;z-index:100;background:var(--ink);color:#fff;padding:12px;transform:translateY(-120%)}.skip:focus{transform:translateY(0)}
.header{height:96px;display:flex;align-items:center;justify-content:space-between;padding-inline:48px;border-bottom:1px solid #eaebe5;background:#fffffff5;position:sticky;top:0;z-index:20;backdrop-filter:blur(15px)}.brand{display:inline-flex;align-items:center;min-height:44px}.brand img{width:112px;height:40px}.navigation{display:flex;align-items:center;gap:32px;font-size:13px;font-weight:700}.navigation>a{min-height:44px;display:inline-flex;align-items:center;gap:7px}.navigation>a:hover:not(.nav-contact){color:var(--accent)}.navigation .nav-contact{gap:30px;background:var(--ink);color:#fff;padding:14px 24px;border-radius:3px}.nav-contact:hover{background:var(--accent)}.external{font-family:Arial,sans-serif;font-size:15px}.menu-toggle{display:none}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:26px;font-weight:700;font-size:14px;min-height:48px;border-bottom:1px solid var(--ink)}.text-link span{font-size:20px;font-weight:400}.text-link:hover{color:var(--accent);border-color:var(--accent)}.button{display:inline-flex;justify-content:space-between;align-items:center;gap:40px;min-height:58px;padding:16px 25px;border:1px solid transparent;border-radius:3px;font-size:14px;font-weight:700;transition:background .2s,transform .2s}.button span{font-size:20px;line-height:1}.primary{background:var(--ink);color:#fff}.primary:hover{background:var(--accent);transform:translateY(-2px)}.secondary{border-color:var(--line);background:var(--white);color:var(--ink)}.secondary:hover{background:var(--paper)}
.hero{position:relative;padding-top:76px;display:grid;grid-template-columns:1fr 1fr;column-gap:20px}.hero-copy{position:relative;z-index:2}.hero-copy .eyebrow{margin-bottom:24px}.hero h1{font-size:clamp(74px,7.8vw,112px);line-height:1.17;font-weight:800;letter-spacing:-.035em}.hero h1>span{color:#e56119}.hero-lead{margin-top:30px;font-size:23px;font-weight:700;line-height:1.65;letter-spacing:.03em}.hero-description{color:var(--muted);font-size:14px;margin-top:20px;line-height:2}.hero-actions{display:flex;gap:28px;align-items:center;margin-top:30px}.hero-art{position:relative;align-self:stretch;min-width:0;background:linear-gradient(135deg,#f9f8f4 0%,#faf4e9 100%);margin:0 -24px 0 0;display:flex;flex-direction:column;justify-content:center;overflow:hidden}.art-topline{position:absolute;top:24px;left:24px;right:24px;display:flex;justify-content:space-between;font:9px Arial,sans-serif;letter-spacing:.13em;color:var(--muted)}.hero-portrait{position:absolute;inset:54px 0 64px;overflow:hidden}.hero-portrait img{display:block;width:100%;height:100%;object-fit:cover;object-position:center 44%}.art-caption{position:absolute;bottom:26px;left:24px;font-size:12px;font-weight:700;letter-spacing:.08em}.art-index{position:absolute;bottom:26px;right:24px;font-size:10px;color:var(--muted)}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding-block:26px;margin-top:46px;border-top:1px solid var(--line);font:10px Arial,sans-serif;letter-spacing:.14em;color:var(--muted)}.hero-bottom a{min-height:44px;display:flex;align-items:center;gap:28px}.hero-bottom a span{font-size:20px;color:var(--ink)}
.approach{background:var(--paper);margin-top:20px}.split{display:grid;grid-template-columns:1fr 1fr;gap:80px}.approach-body{padding-top:40px}.large-copy{font-size:22px;line-height:1.95;font-weight:700}.approach-body>p+p{color:var(--muted);margin-top:24px;font-size:15px;line-height:2.1}.approach-equation{border-top:1px solid #d5d6cd;margin-top:36px;padding-top:22px;display:flex;justify-content:space-between;align-items:center;font-size:16px;font-weight:700}.approach-equation b{font-size:20px;font-weight:400;color:var(--accent)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:48px;margin-bottom:60px}.section-heading>p{font-size:14px;color:var(--muted);line-height:2.1;padding-bottom:6px}.section-heading .eyebrow{margin-bottom:22px}.service-row{display:grid;grid-template-columns:.8fr 1.2fr;border-top:1px solid var(--line);padding:52px 0;gap:80px}.service-row:last-child{border-bottom:1px solid var(--line)}.service-category{position:relative;background:var(--paper);padding:30px 35px;min-height:270px;overflow:hidden}.service-number{font:12px Arial,sans-serif;color:var(--accent)}.service-category h3{font-size:30px;margin-top:12px;line-height:1.5}.service-category>p{font:10px Arial,sans-serif;letter-spacing:.12em;margin-top:8px;color:var(--muted)}.service-category svg{color:var(--orange);width:150px;position:absolute;bottom:22px;right:25px}.service-detail h4{font-size:25px;line-height:1.65;letter-spacing:.03em}.service-detail>p{font-size:14px;color:var(--muted);margin-top:18px;line-height:2}.product-links{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:28px}.product-links a{border-top:1px solid var(--line);padding-block:18px;display:flex;align-items:center;justify-content:space-between;gap:12px}.product-links a:hover{color:var(--accent)}.product-links small{display:block;font-size:10px;color:var(--muted)}.product-links strong{font-size:21px;font-weight:700;display:block;line-height:1.8}.circle-arrow{border:1px solid var(--line);width:36px;height:36px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;transition:background .2s,color .2s}.product-links a:hover .circle-arrow{background:var(--ink);color:#fff}.single{grid-template-columns:1fr}.product-reading{font-size:11px;font-weight:400;margin-left:8px}.service-detail>p.service-note{font-size:11px;margin-top:5px}.process{background:var(--ink);color:#fff}.process .eyebrow{color:#f7b17f}.process .section-heading>p{color:#c3c8bf}.process h2{font-size:36px}.process-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:48px;list-style:none;margin:0;padding:0}.process-steps li{border-top:1px solid #646c61;padding-top:26px}.step-number{font:48px Arial,sans-serif;color:#f7a975;display:flex;justify-content:space-between;align-items:center}.step-number span{font-size:10px;color:#c3c8bf;letter-spacing:.13em}.process-steps h3{font-size:23px;margin-top:32px}.process-steps p{color:#c3c8bf;font-size:14px;margin-top:16px}.company{display:grid;grid-template-columns:1fr 1fr;gap:100px;align-items:center}.company-mark{aspect-ratio:1.12;background:var(--paper);display:flex;align-items:center;justify-content:center;flex-direction:column;overflow:hidden;position:relative}.company-mark:before{content:"";position:absolute;inset:28px;border:1px solid #d7d9d0}.company-mark>span{font:bold clamp(70px,8vw,112px) Arial,sans-serif;letter-spacing:-.07em;color:var(--orange);z-index:1}.outline-type{color:transparent;-webkit-text-stroke:1px var(--ink)}.company-mark small{font:9px Arial,sans-serif;letter-spacing:.25em;margin-top:16px}.company-copy>p:not(.eyebrow){font-size:14px;color:var(--muted);margin:24px 0;line-height:2.1}.company-news{margin-top:32px;padding:22px 0;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;font:12px Arial,sans-serif;letter-spacing:.05em;min-height:60px}.company-news small{font:12px "Hiragino Kaku Gothic ProN",sans-serif;display:inline-block;margin-left:20px}.company-news:hover{color:var(--accent)}
.contact-banner{background:#f8a35f;padding:78px 0}.contact-banner>.container{display:flex;justify-content:space-between;align-items:center;gap:60px}.contact-banner .eyebrow{margin-bottom:20px}.contact-banner h2{font-size:50px;line-height:1.5}.contact-banner p:not(.eyebrow){font-size:14px;margin-top:22px}.contact-round{border:1px solid #91562c;width:210px;height:210px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;font:11px Arial,sans-serif;letter-spacing:.14em;flex-shrink:0;transition:background .2s,color .2s}.contact-round>span{font-size:62px;line-height:1.2;margin-block:8px}.contact-round small{font-size:12px;letter-spacing:0}.contact-round:hover{background:var(--ink);color:#fff;border-color:var(--ink)}.footer{padding-top:52px;padding-bottom:22px}.footer-main{display:flex;align-items:center;gap:40px;padding-bottom:35px}.footer-main p{font-size:12px;line-height:1.8}.footer-main p span{color:var(--muted);font-size:11px}.back-top{margin-left:auto;font:10px Arial,sans-serif;letter-spacing:.1em;padding:16px 0}.footer-bottom{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:20px;font-size:11px;color:var(--muted);gap:24px}.footer-bottom a{display:inline-flex;align-items:center;min-height:44px}.prototype-note{color:var(--muted);font-size:10px;border-top:1px dashed var(--line);padding-top:12px;margin-top:16px}
.breadcrumb{font-size:11px;color:var(--muted);display:flex;gap:16px;align-items:center;padding-top:26px}.breadcrumb a{min-height:44px;display:flex;align-items:center}.contact-layout{display:grid;grid-template-columns:1fr 1.2fr;gap:100px;padding-block:60px 100px}.contact-intro h1{font-size:58px;line-height:1.5;letter-spacing:.02em}.contact-intro>.large-copy{margin-top:36px;font-size:22px}.contact-intro>p:not(.large-copy):not(.eyebrow){font-size:14px;color:var(--muted);margin-top:24px;line-height:2}.contact-topics{list-style:none;padding:24px 0 0;margin:24px 0 0;border-top:1px solid var(--line);font-size:13px}.contact-topics li{padding:8px 0}.contact-topics li:before{content:"↗";color:var(--accent);margin-right:15px}.contact-intro-line{margin-top:50px;color:#e56119;font:42px Arial,sans-serif;letter-spacing:-.04em;display:flex;align-items:center;gap:38px}.contact-intro-line span{font-size:90px}.form-panel{background:var(--paper);padding:36px 40px;min-width:0}.demo-notice{font-size:11px;line-height:1.9;background:#fff;padding:14px 16px;display:flex;gap:8px;align-items:baseline;margin-bottom:25px}.demo-notice .dot{width:5px;height:5px}.form-caption{font-size:12px;color:var(--muted);margin-bottom:25px}.required,.optional{display:inline-block;font-size:10px;font-weight:400;margin-left:10px;line-height:1.6;vertical-align:middle}.required{color:var(--accent)}.form-caption .required{margin-left:0}.optional{color:var(--muted)}.field{margin-bottom:22px}.field>label{display:block;font-size:13px;font-weight:700;margin-bottom:8px}.field>input,.field>select,.field>textarea{display:block;width:100%;border:1px solid #c9cdc3;border-radius:3px;background:white;min-height:52px;padding:12px 14px;font-size:16px;color:var(--ink)}.field>textarea{resize:vertical}.field>input::placeholder,.field>textarea::placeholder{color:#767a73;font-size:14px}.field small{font-size:11px;color:var(--muted)}.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;margin-block:28px;cursor:pointer}.consent input{width:18px;height:18px;flex-shrink:0;margin:3px 0 0;accent-color:var(--ink)}.consent a{text-decoration:underline;text-underline-offset:4px}.form-submit{width:100%}.form-footnote{font-size:11px;color:var(--muted);margin-top:15px;text-align:center}#form-confirmation>p:not(.eyebrow){font-size:13px;margin-top:20px}#form-confirmation h2{font-size:28px}#confirmation-values{margin-block:30px}#confirmation-values>div{border-top:1px solid var(--line);padding:16px 0}#confirmation-values dt{font-size:11px;color:var(--muted)}#confirmation-values dd{margin:5px 0 0;font-size:14px;white-space:pre-wrap;overflow-wrap:anywhere}#edit-form{width:100%;justify-content:center}
@media(min-width:1600px){.hero{padding-top:100px}.hero-art{margin-right:0}.hero-bottom{margin-top:60px}}
@media(max-width:1100px){.container{width:calc(100% - 72px)}.header{padding-inline:36px}.navigation{gap:20px;font-size:12px}.navigation .nav-contact{padding-inline:18px;gap:18px}.hero{padding-top:55px}.hero-art{margin-right:0}.hero h1{font-size:88px}.hero-lead{font-size:20px}.hero-actions{gap:18px}.hero-actions .button{gap:20px;padding-inline:18px}.hero-actions .text-link{gap:14px;font-size:12px}.section{padding-block:85px}.split,.service-row{gap:50px}.company,.contact-layout{gap:60px}.company-news small{margin-left:10px}.process h2{font-size:30px}.contact-intro h1{font-size:48px}.form-panel{padding:28px}.contact-layout{grid-template-columns:.85fr 1.15fr}.service-category{padding:25px}.product-links{gap:18px}.product-links strong{font-size:19px}}
@media(max-width:800px){html{scroll-padding-top:85px}.container{width:calc(100% - 44px)}.header{height:76px;padding-inline:22px}.brand img{width:100px}.menu-toggle{display:flex;align-items:center;gap:20px;min-height:44px;border:0;background:none;padding:8px 0;font-size:12px;color:var(--ink)}.menu-toggle span{font-size:24px}.navigation{display:none;position:absolute;top:76px;left:0;right:0;background:white;padding:18px 24px 28px;box-shadow:0 14px 16px #2026220a;border-bottom:1px solid var(--line)}.navigation.is-open{display:flex;flex-direction:column;align-items:stretch;gap:8px}.navigation>a{padding:10px 8px;font-size:14px}.navigation .nav-contact{justify-content:space-between;padding:16px}.hero{grid-template-columns:1fr;padding-top:44px}.hero h1{font-size:82px;line-height:1.12}.hero .eyebrow{font-size:10px}.hero-lead{margin-top:24px;font-size:21px}.hero-description{font-size:14px;margin-top:20px}.hero-actions{gap:26px;margin-top:26px}.hero-actions .button{font-size:13px;gap:24px;padding-inline:20px}.hero-actions .text-link{font-size:12px}.hero-art{margin:38px 0 0;height:calc(100vw + 50px)}.hero-portrait{inset:46px 0 48px}.art-topline{font-size:8px;top:20px;left:18px;right:18px}.art-caption{bottom:18px;left:18px;font-size:10px}.art-index{bottom:18px;right:18px;font-size:9px}.hero-bottom{margin-top:24px;padding-block:10px;font-size:8px;letter-spacing:.08em}.hero-bottom a{font-size:0;gap:0}.hero-bottom a span{font-size:20px}.section{padding-block:68px}h2{font-size:29px;line-height:1.65}.eyebrow{font-size:10px;margin-bottom:22px}.approach{margin-top:0}.split{grid-template-columns:1fr;gap:30px}.approach-body{padding-top:0}.large-copy{font-size:19px}.approach-body>p+p{font-size:14px}.approach-equation{font-size:14px;margin-top:28px}.section-heading{display:block;margin-bottom:34px}.section-heading>p{margin-top:24px;font-size:13px}.service-row{grid-template-columns:1fr;padding-block:32px;gap:26px}.service-category{min-height:176px;padding:24px}.service-category h3{font-size:27px;margin-top:9px}.service-category svg{width:100px;bottom:26px;right:22px;opacity:.75}.service-category>p{font-size:9px}.service-detail h4{font-size:23px}.service-detail>p{font-size:13px}.product-links{margin-top:22px;gap:18px}.product-links strong{font-size:20px}.product-links small{font-size:9px}.product-links a{gap:5px}.circle-arrow{width:30px;height:30px}.process h2{font-size:27px}.process-steps{grid-template-columns:1fr;gap:32px}.process-steps li{display:grid;grid-template-columns:60px 1fr;column-gap:20px;padding-top:26px}.step-number{font-size:32px;display:block;grid-row:1/3}.step-number span{display:block;font-size:8px;margin-top:10px}.process-steps h3{margin-top:0;font-size:22px}.process-steps p{font-size:13px;margin-top:12px}.company{grid-template-columns:1fr;gap:36px}.company-mark{aspect-ratio:1.6}.company-mark>span{font-size:90px}.company-copy>p:not(.eyebrow){font-size:13px}.company-news small{margin-left:18px}.contact-banner{padding:60px 0}.contact-banner>.container{gap:28px;align-items:flex-start;flex-direction:column}.contact-banner h2{font-size:36px}.contact-banner p:not(.eyebrow){font-size:13px}.contact-round{width:100%;height:auto;min-height:72px;border-radius:3px;flex-direction:row;justify-content:space-between;padding:14px 20px}.contact-round>span{font-size:32px;margin:0;order:2}.contact-round small{font-size:12px}.footer{padding-top:35px}.footer-main{gap:20px;flex-wrap:wrap;padding-bottom:25px}.footer-main p{font-size:11px}.footer-main p span{font-size:10px}.back-top{display:none}.footer-bottom{font-size:10px}.prototype-note{font-size:9px}.contact-layout{grid-template-columns:1fr;padding-block:35px 60px;gap:40px}.contact-intro h1{font-size:45px}.contact-intro>.large-copy{font-size:20px;margin-top:24px}.contact-intro>p:not(.large-copy):not(.eyebrow){font-size:13px}.contact-topics{font-size:12px;margin-top:20px;padding-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:5px 14px}.contact-topics li:before{margin-right:7px}.contact-intro-line{display:none}.form-panel{padding:26px 22px;margin-inline:-8px}.demo-notice{font-size:10px;padding:12px}.contact-page .breadcrumb{padding-top:14px}}
@media(max-width:370px){.container{width:calc(100% - 36px)}.hero h1{font-size:74px}.hero-actions{gap:16px}.hero-actions .button{padding-inline:14px;gap:16px}.hero-actions .text-link{gap:8px}.product-links{grid-template-columns:1fr;gap:0}.contact-topics{grid-template-columns:1fr}.contact-round{padding-inline:16px}.contact-round small{font-size:11px}.company-mark>span{font-size:78px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}
