@charset "UTF-8";
:root{--ink:#171917;--paper:#f1f0e9;--orange:#ff7549;--line:#d5d5cb;--muted:#6a6d64;--font:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Noto Sans JP","Yu Gothic",Meiryo,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--font);-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}button,a,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #dc531f;outline-offset:5px}::selection{background:var(--orange);color:var(--ink)}.skip{position:fixed;top:-60px;left:20px;padding:12px;background:var(--orange);z-index:20}.skip:focus{top:12px}.header{height:98px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);border-bottom:1px solid #ffffff25;position:relative;z-index:5}.brand{display:flex;align-items:center;gap:12px}.brand svg{width:30px;height:36px}.brand>span{font-size:23px;font-weight:800;letter-spacing:-.8px;line-height:1}.brand-light{font-weight:400;margin-left:5px}.brand small{display:block;font-size:8px;font-weight:400;letter-spacing:1.8px;margin-top:9px}.header nav{display:flex;align-items:center;gap:30px;font-size:12px;font-weight:600}.header nav a{transition:color .2s}.header nav a:hover{color:var(--orange)}.nav-contact{border:1px solid #ffffff60;padding:13px 21px}.nav-contact span{margin-left:24px;color:var(--orange)}.menu-toggle{display:none}.section-pad{padding:80px 7% 95px}.section-label{display:flex;justify-content:space-between;gap:20px;font-size:10px;letter-spacing:1.5px;border-bottom:1px solid var(--line);padding-bottom:23px}.section-label span:last-child{letter-spacing:1px}.hero{padding:29px 5% 0;background:var(--ink);color:var(--paper);position:relative;overflow:hidden}.hero-top{display:flex;justify-content:space-between;font-size:9px;letter-spacing:1.4px;color:#b1b7ab}.eyebrow{display:flex;align-items:center;gap:10px}.eyebrow i{width:5px;height:5px;background:var(--orange);border-radius:50%;box-shadow:0 0 12px #ff754980}.hero-content{display:grid;grid-template-columns:1.1fr 1fr;max-width:1500px;margin:0 auto;align-items:center;min-height:622px}.hero-copy{padding:58px 0 70px 2.2%;position:relative;z-index:1}.hero-kicker{font-size:11px;font-weight:600;letter-spacing:3px;color:var(--orange);margin:0 0 28px}.hero h1{font-size:clamp(54px,5.6vw,90px);letter-spacing:-.055em;line-height:1.35;margin:0 0 25px;font-weight:700}.hero h1>span{color:var(--orange)}.hero-desc{font-size:14px;line-height:2.1;font-weight:400;letter-spacing:1px;color:#c2c5ba;margin:0 0 35px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:48px;padding:20px 24px;font-size:13px;font-weight:600;transition:transform .2s,background .2s}.button:hover{transform:translateY(-3px)}.button span{font-size:21px;font-weight:400}.button-orange{background:var(--orange);color:var(--ink)}.button-orange:hover{background:#ff926e}.hero-art{height:560px;position:relative;max-width:650px;width:100%;justify-self:center}.orb{position:absolute;inset:0;width:100%;height:100%;filter:drop-shadow(0 0 18px #ff754910)}.art-label{font:9px/1.5 monospace;letter-spacing:1px;color:#a6afa0;position:absolute;z-index:1}.label-one{left:11%;top:17%}.label-two{right:1%;top:40%;color:var(--orange)}.label-three{left:12%;bottom:12%}.art-cross{position:absolute;font:20px monospace;color:#6b7364}.cross-one{right:10%;top:6%}.cross-two{left:0;bottom:20%}.art-footer{position:absolute;bottom:0;left:12%;right:2%;display:flex;justify-content:space-between;gap:15px;font:8px monospace;letter-spacing:1.5px;color:#838c7c}.hero-bottom{border-top:1px solid #ffffff25;display:flex;justify-content:space-between;padding:25px 2% 26px;font-size:10px;letter-spacing:1px;color:#b0b8a7}.hero-bottom a{font:9px monospace;letter-spacing:1.5px}.hero-bottom a span{color:var(--orange);margin-left:30px}.approach-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:64px}h2{font-size:clamp(32px,3.3vw,50px);line-height:1.55;letter-spacing:-1.8px;margin:0;font-weight:600}.approach-copy{max-width:510px}.lead{font-size:19px;line-height:1.9;font-weight:600;margin:0 0 24px}.approach-copy>p:not(.lead){font-size:13px;line-height:2.2;color:#64685e}.text-link{display:inline-flex;gap:50px;font-size:12px;font-weight:600;border-bottom:1px solid var(--ink);padding:18px 0 12px}.text-link span{font-size:18px}.principles{display:grid;grid-template-columns:repeat(3,1fr);margin-top:64px;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.principles>div{padding:27px 20px 24px 0}.principles>div+div{padding-left:35px;border-left:1px solid var(--line)}.principles span{font:10px monospace;letter-spacing:1.5px;color:var(--muted)}.principles p{font-size:15px;margin:12px 0 0}.services{background:#e6e7df}.section-intro{display:flex;justify-content:space-between;align-items:end;gap:30px;padding-top:52px;margin-bottom:55px}.section-intro>p{font-size:13px;line-height:2;color:var(--muted);margin:0}.service{display:grid;grid-template-columns:75px 1fr 145px;gap:20px;padding:40px 0;border-top:1px solid #c8ccbf}.service:last-child{border-bottom:1px solid #c8ccbf}.service-no{font:14px monospace;color:#6b7164;margin-top:4px}.service-en{font:10px monospace;letter-spacing:1.4px;margin:0 0 14px;color:#67705d}.service h3{font-size:24px;font-weight:600;margin:0 0 17px;letter-spacing:-.6px}.service h3+p{font-size:13px;line-height:2;max-width:645px;color:#596052;margin:0}.tags{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.tags li{font-size:10px;border:1px solid #c0c7b7;padding:6px 11px;border-radius:2px;color:#5c6554}.service-symbol{align-self:center;justify-self:center;font-size:92px;font-weight:300;color:#747f64;line-height:1}.symbol-square{font-size:85px}.work-grid{display:grid;grid-template-columns:1fr 1fr;gap:36px}.work-visual{height:260px;margin-bottom:27px;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;background:#dce0d4}.visual-workflow{gap:0;background-color:#dbe0d4;background-image:radial-gradient(#8a96794d .8px,transparent .8px);background-size:16px 16px}.flow-node{background:#eef0e9;border:1px solid #a2ad96;padding:19px 12px;font:8px monospace;letter-spacing:1px;min-width:85px;text-align:center;box-shadow:4px 4px 0 #66725812}.flow-node span{display:block;font:12px var(--font);margin-top:10px}.flow-active{background:var(--ink);border-color:var(--ink);color:var(--paper)}.flow-connector{width:25px;height:1px;background:#69755b;position:relative}.flow-connector:after{content:'›';position:absolute;right:-1px;top:-10px;color:#69755b}.visual-commerce{background:#dcd5c9;background-image:linear-gradient(135deg,#ede6dc 0%,#c5c7bb 100%)}.commerce-window{width:235px;transform:rotate(-7deg);border:1px solid #b3b6a8;box-shadow:12px 14px 0 #3f4a2d13;background:#f5f3ec}.window-bar{display:flex;gap:4px;padding:10px;border-bottom:1px solid #d4d5c9}.window-bar i{width:4px;height:4px;background:#a0a691;border-radius:50%}.product-row{display:flex;gap:18px;padding:20px}.product-shape{background:#d6ddcb;width:78px;height:98px;display:grid;place-items:center}.product-shape:after{content:'';display:block;background:#7e896f;border-radius:16px 16px 4px 4px;width:33px;height:58px;box-shadow:3px 2px 0 #60674f}.product-lines{flex:1;padding-top:12px}.product-lines b{display:block;width:100%;height:4px;background:#d1d4c6;margin-bottom:11px}.product-lines b:nth-child(2){width:70%}.product-lines b:nth-child(3){width:45%}.product-lines em{display:block;background:#ff7549;height:17px;margin-top:16px}.work-category{font:9px monospace;letter-spacing:1.2px;color:var(--muted)}.work-card h3{font-size:21px;font-weight:600;margin:15px 0 13px;letter-spacing:-.5px}.work-card>p{font-size:12px;color:var(--muted);line-height:2;max-width:450px}.work-note{display:block;border-top:1px solid var(--line);padding-top:17px;font-size:10px;margin-top:22px}.work-footnote{font-size:10px;color:var(--muted);line-height:1.8;margin:25px 0 0}.process{background:var(--ink);color:var(--paper)}.process .section-label{border-color:#ffffff30;color:#b9c0b0}.process-grid{display:grid;grid-template-columns:1fr 1fr;gap:9%;padding-top:60px}.process-grid>div>p{font-size:12px;line-height:2.2;color:#a8b19e;margin-top:27px}.process-steps details{border-bottom:1px solid #ffffff30}.process-steps details:first-child{border-top:1px solid #ffffff30}.process-steps summary{display:flex;gap:25px;align-items:center;cursor:pointer;padding:25px 0;list-style:none}.process-steps summary::-webkit-details-marker{display:none}.process-steps summary>span{font:11px monospace;color:var(--orange)}.process-steps h3{font-size:17px;font-weight:500;margin:0}.process-steps summary i{margin-left:auto;font-size:23px;font-style:normal;font-weight:300;color:#a8b19e;transition:transform .2s}.process-steps details[open] summary i{transform:rotate(45deg)}.process-steps details>p{margin:0 0 27px 41px;font-size:12px;line-height:2;color:#acb5a2}.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:11%;padding-top:55px}.cat-mark{width:68px;height:68px;color:#6c775e;margin-bottom:23px}.cat-mark svg{width:100%;height:100%}.about h2{font-size:34px}.about-grid>div>p{font-size:12px;line-height:2.2;color:var(--muted);max-width:390px;margin-top:27px}.company{margin:35px 0 0}.company>div{display:grid;grid-template-columns:105px 1fr;gap:18px;padding:22px 0;border-bottom:1px solid var(--line);font-size:12px;line-height:1.9}.company>div:first-child{border-top:1px solid var(--line)}.company dt{font-size:11px;color:var(--muted)}.company dd{margin:0}.company dd span{color:var(--muted);font-size:10px}.company dd .inline-en{display:block}.company a:hover{text-decoration:underline}.contact{background:#ff7549;padding-bottom:75px}.contact .section-label{border-color:#17191740}.contact-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:7%;padding-top:65px}.contact h2{font-size:clamp(30px,3.1vw,47px);line-height:1.65;letter-spacing:-2px}.contact h2>span{margin-left:-.25em}.contact-grid>div>p:first-child{font-size:13px;line-height:2.1;margin:0 0 27px}.button-dark{background:var(--ink);color:var(--paper);min-width:280px}.button-dark:hover{background:#333b2c}.email-copy{display:flex;justify-content:space-between;gap:10px;max-width:330px;align-items:center;font:12px monospace;margin:22px 0 17px}.email-copy button{border:none;background:none;padding:7px;cursor:pointer;font:9px monospace;letter-spacing:1px}.email-copy button:hover{background:#17191715}.contact-note{font-size:10px;line-height:1.9;max-width:340px;color:#442c20;margin:0}#copy-status{font-size:11px;min-height:18px;margin-bottom:0}.footer{padding:43px 5%;display:flex;align-items:center;justify-content:space-between;gap:35px;background:var(--ink);color:var(--paper)}.footer-brand{font-size:25px;font-weight:700;letter-spacing:-1px}.footer-brand span{display:block;font-size:9px;font-weight:400;letter-spacing:.5px;color:#a2ac98;margin-top:11px}.footer>div{margin-left:auto;text-align:right;font-size:9px;color:#a2ac98}.footer>div p{font:8px monospace;letter-spacing:.4px;margin:13px 0 0}.back-top{border:1px solid #ffffff35;width:42px;height:42px;display:grid;place-items:center;font-size:20px}.mobile-only{display:none}.privacy-page{padding:75px 7% 100px;max-width:1100px;margin:auto}.privacy-page h1{font-size:36px;line-height:1.5;margin:25px 0 40px}.privacy-page h2{font-size:20px;letter-spacing:0;margin-top:34px}.privacy-page p,.privacy-page li{font-size:14px;line-height:2;color:#5e6556}.privacy-page ul{padding-left:25px}.privacy-page a{text-decoration:underline}.privacy-page .text-link{margin-top:35px}.privacy-page .eyebrow{font:10px monospace;color:var(--muted)}
@media(min-width:1600px){.header,.hero,.footer{padding-left:max(5%,calc((100vw - 1500px)/2));padding-right:max(5%,calc((100vw - 1500px)/2))}.section-pad{padding-left:max(7%,calc((100vw - 1360px)/2));padding-right:max(7%,calc((100vw - 1360px)/2))}}
@media(max-width:1050px){.header nav{gap:19px;font-size:10px}.brand>span{font-size:20px}.brand small{font-size:7px;letter-spacing:1px}.hero-content{min-height:570px}.hero-art{height:460px}.hero-copy{padding-top:60px}.hero h1{font-size:60px}.hero-desc{font-size:12px;letter-spacing:0}.art-label{font-size:7px}.section-pad{padding-left:6%;padding-right:6%}.service{grid-template-columns:45px 1fr 95px}.service-symbol{font-size:75px}.work-visual{height:225px}.flow-node{min-width:70px;padding:16px 8px;font-size:7px}.flow-connector{width:15px}.work-card h3{font-size:18px}.company>div{grid-template-columns:80px 1fr;gap:12px}.contact-grid{gap:5%}.contact h2{font-size:32px}}
@media(max-width:760px){html{scroll-padding-top:20px}.header{height:83px;padding:0 6%}.brand>span{font-size:20px}.brand small{font-size:7px;letter-spacing:1.2px}.brand svg{width:25px;height:31px}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:1px solid #ffffff40;background:transparent;padding:12px;cursor:pointer}.menu-toggle span{display:block;width:20px;height:1px;background:var(--paper)}.header nav{display:none;position:absolute;left:0;right:0;top:83px;background:var(--ink);padding:20px 6% 30px;border-bottom:1px solid #ffffff30;font-size:14px;align-items:stretch;gap:0}.header nav.is-open{display:flex;flex-direction:column}.header nav a{padding:17px 0}.header nav .nav-contact{padding:17px;margin-top:10px}.hero{padding:22px 6% 0}.hero-index{display:none}.hero-top{font-size:7px;letter-spacing:1px}.hero-content{display:block;min-height:auto;position:relative}.hero-copy{padding:48px 0 0}.hero-kicker{font-size:9px;letter-spacing:2px;margin-bottom:19px}.hero h1{font-size:clamp(42px,10vw,66px);line-height:1.4;letter-spacing:-2px;margin-bottom:20px}.hero-desc{font-size:12px;line-height:2;max-width:340px;margin-bottom:25px}.hero .button{padding:16px 20px;font-size:12px;gap:42px}.hero-art{height:310px;width:350px;max-width:100%;margin:-2px auto 10px}.art-label{font-size:7px}.label-one{top:12%;left:5%}.label-two{right:0;top:38%}.label-three{bottom:12%;left:4%}.cross-one{right:0;top:10%}.art-footer{font-size:6px;left:0;right:0;bottom:4px}.hero-bottom{padding:21px 0;font-size:8px;letter-spacing:0;gap:10px}.hero-bottom a{font-size:7px;letter-spacing:.3px}.hero-bottom a span{margin-left:8px}.section-pad{padding:52px 6% 60px}.section-label{font-size:8px;letter-spacing:1px;padding-bottom:18px;gap:10px}.section-label span:last-child{font-size:8px;letter-spacing:0}.approach-grid{display:block;padding-top:35px}h2{font-size:33px;letter-spacing:-1px}.approach-copy{margin-top:27px}.lead{font-size:17px;margin-bottom:19px}.approach-copy>p:not(.lead){font-size:12px}.principles{margin-top:35px}.principles>div,.principles>div+div{padding:20px 8px}.principles>div:first-child{padding-left:0}.principles span{font-size:7px;letter-spacing:.2px}.principles p{font-size:10px;margin-top:10px}.section-intro{display:block;padding-top:34px;margin-bottom:32px}.section-intro>p{margin-top:22px;font-size:12px}.service{grid-template-columns:23px 1fr;gap:12px;padding:27px 0}.service-symbol{display:none}.service-no{font-size:11px}.service-en{font-size:8px;letter-spacing:1px;margin-bottom:12px}.service h3{font-size:19px;line-height:1.5;margin-bottom:13px}.service h3+p{font-size:12px}.tags{gap:5px;margin-top:17px}.tags li{font-size:8px;padding:5px 7px}.work-grid{grid-template-columns:1fr;gap:35px}.work-visual{height:230px;margin-bottom:20px}.flow-node{min-width:75px;padding:17px 8px}.flow-connector{width:22px}.work-card h3{font-size:19px;margin-top:12px}.work-footnote{font-size:9px;margin-top:23px}.process-grid{display:block;padding-top:35px}.process-grid>div>p{font-size:12px;margin:22px 0 30px}.process-steps summary{padding:23px 0;gap:20px}.process-steps h3{font-size:16px}.process-steps details>p{margin-left:35px}.about-grid{display:block;padding-top:34px}.cat-mark{width:57px;height:57px;margin-bottom:17px}.about h2{font-size:29px}.about-grid>div>p{margin-top:22px}.company{margin-top:32px}.company>div{font-size:12px;grid-template-columns:85px 1fr;padding:19px 0}.contact-grid{display:block;padding-top:35px}.contact h2{font-size:29px;letter-spacing:-1.3px}.contact-grid>div{margin-top:30px}.contact-grid>div>p:first-child{font-size:12px}.button-dark{min-width:280px;max-width:100%}.footer{padding:33px 6%;gap:15px;flex-wrap:wrap}.footer-brand{font-size:23px;flex:1}.footer-brand span{font-size:8px}.footer>div{order:3;width:100%;text-align:left;margin:13px 0 0;display:flex;align-items:center;justify-content:space-between;gap:10px}.footer>div p{margin:0;font-size:7px}.back-top{width:36px;height:36px}.mobile-only{display:initial}.privacy-page{padding:45px 6% 65px}.privacy-page h1{font-size:28px}.privacy-page h2{font-size:18px}.privacy-page p,.privacy-page li{font-size:13px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
