:root{--paper:#fff;--paper-2:#f3f3ed;--ink:#191c19;--ink-soft:#494d47;--ink-50:#696e64;--accent:#1d5c3f;--forest:#153d2c;--rule:#d7d9d0;--pad:clamp(20px, 4.4vw, 64px);--latin:"Space Grotesk", "Helvetica Neue", Arial, sans-serif;--sans:"Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;--display:"Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif}*,:before,:after{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--paper);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;font-size:16px;line-height:1.9}h1,h2,h3,p,ol,ul,figure{margin:0}a{color:inherit;-webkit-tap-highlight-color:transparent;text-decoration:none}button,summary{-webkit-tap-highlight-color:transparent}a:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:6px}img,svg{max-width:100%;display:block}::selection{color:var(--ink);background:#cddd99}.shell{width:min(100%,1560px);padding-inline:var(--pad);margin-inline:auto}.section-space{padding-block:clamp(88px,9vw,140px)}.skip-link{z-index:20;background:var(--ink);color:#fff;padding:12px 20px;position:absolute;top:-100px;left:20px}.skip-link:focus{top:12px}.site-header{padding-top:30px}.topbar{align-items:center;gap:26px;display:flex}.vision{letter-spacing:.08em;white-space:nowrap;font-size:13px;font-weight:700}.brand-rule{background:var(--ink);flex:1;height:1px}.brand-link{flex-shrink:0}.wordmark{width:auto;height:20px}.service-bar{justify-content:space-between;align-items:center;gap:20px;padding-top:21px;display:flex}.service-name{letter-spacing:.06em;font-size:12px}.service-bar nav{align-items:center;gap:29px;font-size:12px;display:flex}.service-bar nav a{padding-block:10px;transition:color .2s}.service-bar nav a:hover{color:var(--accent)}.nav-contact{border-bottom:1px solid var(--ink);align-items:center;gap:26px;display:inline-flex}.eyebrow,.section-label{font-family:var(--latin);letter-spacing:.13em;font-size:11px;font-weight:500;line-height:1.6}.hero{padding-top:26px}.hero-meta{justify-content:space-between;align-items:center;gap:16px;margin-bottom:13px;display:flex}.hero-meta>p:last-child{letter-spacing:.08em;font-size:11px}.hero-poster{background:var(--paper-2);isolation:isolate;height:clamp(560px,48.5vw,735px);position:relative;overflow:hidden}.hero-art{object-fit:cover;z-index:-1;width:100%;height:100%;position:absolute;inset:0}.hero-copy{max-width:59%;position:absolute;inset:11% auto auto 4.7%}h1{font-family:var(--display);letter-spacing:-.055em;font-weight:500;line-height:1.4}h1>span{display:block}.hero-opening{letter-spacing:.025em;margin-bottom:24px;font-size:clamp(23px,2.2vw,34px)}.hero-main{font-size:clamp(68px,7.6vw,115px);line-height:1.3}.hero-closing{white-space:nowrap;margin-top:3px;font-size:clamp(45px,4.8vw,74px)}.hero-lead{letter-spacing:.015em;margin-top:30px;font-size:clamp(13px,1.1vw,16px);line-height:2.1}.poster-edition{writing-mode:vertical-rl;font-family:var(--latin);letter-spacing:.17em;color:#fff;mix-blend-mode:difference;font-size:9px;position:absolute;top:24px;right:15px}.hero-scroll{width:104px;height:104px;color:var(--ink);background:#e0e8be;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;gap:7px;transition:background .25s,transform .25s;display:flex;position:absolute;bottom:28px;right:28px}.hero-scroll>span:first-child{font-family:var(--latin);letter-spacing:.1em;text-align:center;font-size:9px;line-height:1.5}.down-arrow{font-size:25px;line-height:1}.hero-scroll:hover{background:#fff;transform:translateY(3px)}.hero-experience{border-bottom:1px solid var(--ink);grid-template-columns:150px minmax(0,1fr);align-items:center;gap:30px;padding-block:27px;display:grid}.experience-label{flex-direction:column;gap:5px;line-height:1.6;display:flex}.experience-label>span:first-child{font-family:var(--latin);color:var(--accent);letter-spacing:.12em;font-size:9px}.experience-label>span:last-child{letter-spacing:.12em;font-size:12px}.experience-list{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px 24px;padding:0;list-style:none;display:flex}.experience-list li{border-left:1px solid var(--rule);font-family:var(--display);letter-spacing:.02em;white-space:nowrap;padding-left:24px;font-size:clamp(15px,1.25vw,19px);font-weight:500;line-height:1.6}h2{font-family:var(--display);letter-spacing:-.05em;font-size:clamp(34px,4vw,58px);font-weight:500;line-height:1.65}h3{font-weight:500}.intro{padding-block:clamp(110px,11vw,164px)}.intro-heading{margin-left:16.7%}.intro-heading .eyebrow{color:var(--accent);margin-bottom:29px}.intro-heading h2{font-size:clamp(38px,4.7vw,69px);line-height:1.65}.intro-heading h2 span{margin-left:1em}.intro-grid{grid-template-columns:1fr 1.12fr;gap:8%;margin-top:54px;display:grid}.intro-aside{align-self:end;align-items:center;gap:25px;margin-left:9%;display:flex}.intro-sign{font-family:var(--display);color:var(--accent);font-size:150px;font-weight:400;line-height:1.1}.intro-aside>p{color:var(--ink-50);font-size:12px;line-height:2}.prose{color:var(--ink-soft);font-size:16px;line-height:2.15}.prose p+p{margin-top:24px}.prose .intro-conclusion{color:var(--ink);margin-top:30px;font-size:17px}.section-label{color:var(--accent);align-items:center;gap:15px;margin-bottom:31px;display:flex}.section-label>span:first-child{letter-spacing:0;border:1px solid;border-radius:50%;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:10px;display:inline-flex}.section-deck{color:var(--ink-soft);font-size:15px;line-height:2}.problem{background:var(--paper-2)}.problem-layout{grid-template-columns:1fr 1.25fr;gap:11%;display:grid}.problem-head h2{font-size:clamp(31px,3.35vw,48px)}.problem-head .section-deck{margin-top:28px}.problem-mark{font-family:var(--display);color:#bfc8b5;margin-top:16px;margin-left:35%;font-size:185px;font-weight:400;line-height:1.2;display:block}.problem-list{padding:0;list-style:none}.problem-list>li{border-top:1px solid #c6cabf;gap:22px;padding-block:24px;display:flex}.item-number{color:var(--accent);font-family:var(--latin);padding-top:7px;font-size:11px}.problem-list h3{letter-spacing:-.035em;font-size:20px}.problem-list p{color:var(--ink-50);margin-top:6px;font-size:14px}.problem-conclusion{border-top:1px solid #c6cabf;margin-top:5px;padding-top:27px;font-size:14px;line-height:2}.problem-conclusion strong{color:var(--accent);font-weight:600}.approach{background:var(--forest);color:#fff}.approach .section-label{color:#dfe7c7}.approach-heading{justify-content:space-between;align-items:flex-end;gap:45px;margin-bottom:64px;display:flex}.approach-heading h2{font-size:clamp(37px,4.7vw,68px)}.approach-heading>p{color:#d4dfd4;margin-bottom:13px;font-size:15px;line-height:2}.steps{border-top:1px solid #5b7763;grid-template-columns:repeat(4,1fr);padding:0;list-style:none;display:grid}.step{border-right:1px solid #5b7763;flex-direction:column;padding:27px 28px 0;display:flex}.step:first-child{padding-left:0}.step:last-child{border-right:0;padding-right:0}.step-top{align-items:baseline;gap:20px;margin-bottom:22px;display:flex}.step-number{font-family:var(--latin);color:#cedcaa;letter-spacing:-.055em;font-size:64px;font-weight:400;line-height:1.2}.step-en{font-family:var(--latin);color:#d4dfd4;letter-spacing:.12em;font-size:10px}.step h3{letter-spacing:-.045em;margin-bottom:22px;font-size:20px;font-weight:500}.step>p{color:#d4dfd4;flex:1;font-size:14px;line-height:2}.step-tags{flex-wrap:wrap;gap:6px;padding:25px 0 0;list-style:none;display:flex}.step-tags li{color:#e4ebdd;border:1px solid #698470;padding:2px 8px;font-size:10px}.approach-note{color:#d4dfd4;margin-top:35px;font-size:12px}.approach-note span{margin-right:12px}.services-heading{justify-content:space-between;align-items:end;gap:30px;margin-bottom:68px;display:flex}.service-list{border-top:1px solid var(--ink)}.service-item{border-bottom:1px solid var(--ink)}.service-item summary{cursor:pointer;grid-template-columns:85px 1fr 48px;align-items:center;gap:24px;padding-block:29px;list-style:none;display:grid}.service-item summary::-webkit-details-marker{display:none}.service-index{font-family:var(--latin);color:var(--accent);letter-spacing:-.03em;font-size:18px}.service-name-group{flex-direction:column;gap:5px;display:flex}.service-en{font-family:var(--latin);letter-spacing:.1em;color:var(--ink-50);font-size:10px}.service-title{letter-spacing:-.035em;font-size:clamp(24px,2.6vw,38px);font-weight:400;transition:color .2s}.service-item summary:hover .service-title{color:var(--accent)}.service-toggle{border:1px solid #a9b0a0;border-radius:50%;width:46px;height:46px;transition:background .2s;position:relative}.service-toggle:before,.service-toggle:after{content:"";background:var(--ink);width:15px;height:1px;position:absolute;top:22px;left:15px}.service-toggle:after{transition:transform .2s;transform:rotate(90deg)}.service-item[open] .service-toggle:after{transform:rotate(0)}.service-item[open] .service-toggle{background:#e5ead7;border-color:#e5ead7}.service-content{grid-template-columns:1.2fr 1fr;align-items:start;gap:8%;margin-left:109px;padding-bottom:35px;display:grid}.service-body{color:var(--ink-soft);font-size:16px;line-height:2}.service-detail{color:var(--ink-50);padding-top:5px;font-size:12px;line-height:2}.difference{background:var(--paper-2)}.difference-grid{grid-template-columns:1.05fr 1fr;gap:8%;display:grid}.difference-heading h2{font-size:clamp(32px,3.7vw,54px)}.difference-heading h2 span{color:var(--accent)}.difference-heading>p{margin-top:32px;font-size:15px;line-height:2}.difference-grid>.prose{padding-top:70px}.questions{color:var(--ink);font-family:var(--display);margin-block:26px;padding:0;font-size:18px;line-height:2.1;list-style:none}.questions li+li{margin-top:6px}.support-scope{margin-top:70px}.scope-label{justify-content:space-between;gap:20px;margin-bottom:22px;display:flex}.scope-label>span:first-child{font-family:var(--latin);color:var(--accent);letter-spacing:.1em;font-size:11px}.scope-label>span:last-child{color:var(--ink-50);font-size:12px}.support-scope ol{border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);grid-template-columns:repeat(6,1fr);padding:0;list-style:none;display:grid}.support-scope li{text-align:center;padding:28px 12px;font-size:16px;position:relative}.support-scope li+li:before{content:"";background:#afbba4;width:1px;height:20px;position:absolute;top:calc(50% - 10px);left:0}.technology-grid{grid-template-columns:1fr 1fr;gap:10%;max-width:1110px;margin-inline:auto;display:grid}.technology h2{font-size:36px}.technology .prose{padding-top:12px}.contact{background:#e5ead7;padding-bottom:0;overflow:clip}.contact-grid{justify-content:space-between;align-items:center;gap:70px;display:flex}.contact h2{font-size:clamp(48px,6.4vw,92px);font-weight:400;line-height:1.45}.contact-grid>div>p{margin-top:35px;font-size:15px;line-height:2.1}.contact-action{flex-direction:column;flex-shrink:0;align-items:center;margin-right:4%;display:flex}.contact-circle{background:var(--forest);color:#fff;aspect-ratio:1;border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:clamp(230px,21vw,306px);transition:background .25s,rotate .3s;display:flex}.contact-circle>span:first-child{font-family:var(--latin);letter-spacing:.04em;font-size:17px}.contact-arrow{font-family:Arial,sans-serif;font-size:85px;font-weight:400;line-height:1.2}.contact-circle>span:last-child{margin-top:7px;font-size:12px}.contact-circle:hover{background:#236247;rotate:-5deg}.contact-grid .contact-action>p{color:var(--ink-soft);margin-top:18px;font-size:11px}.email-link{font-family:var(--latin);border-bottom:1px solid #728269;margin-top:8px;font-size:14px}.contact-signature{font-family:var(--latin);color:var(--forest);letter-spacing:-.065em;border-top:1px solid #aab698;margin-top:110px;padding-block:36px 48px;font-size:clamp(60px,9.1vw,141px);line-height:1.02}.site-footer{padding-block:25px}.footer-inner{justify-content:space-between;align-items:center;gap:20px;display:flex}.footer-inner small{font-family:var(--latin);letter-spacing:.12em;color:var(--ink-50);font-size:10px}.footer-inner>a{font-family:var(--latin);letter-spacing:.1em;gap:20px;padding:8px 0;font-size:11px;display:flex}.footer-inner>a:hover{text-underline-offset:4px;text-decoration:underline}.intro-heading,.intro-grid,.problem-head,.approach-heading,.services-heading,.difference-grid,.technology-grid,.contact-grid{transition:opacity .7s,translate .7s}.reveal-pending{opacity:0;translate:0 20px}.reveal-pending:focus-within{opacity:1;translate:none}@media (width>=1700px){.hero-poster{height:735px}}@media (width<=1100px){.hero-copy{top:15%}.hero-poster{height:580px}.hero-opening{font-size:24px}.hero-main{font-size:76px}.hero-closing{font-size:49px}.hero-lead{font-size:13px}.hero-art{object-position:left center}.intro-grid{gap:7%}.intro-aside{gap:15px;margin-left:0}.intro-sign{font-size:115px}.problem-layout{grid-template-columns:1fr 1.2fr;gap:7%}.problem-list h3{font-size:18px}.steps{grid-template-columns:repeat(2,1fr);gap:40px 0}.step:nth-child(2){border-right:0;padding-right:0}.step:nth-child(3){padding-left:0}.step h3{font-size:21px}.step>p{font-size:15px}.service-content{gap:30px}.difference-grid{gap:5%}.questions{font-size:16px}.contact-grid{gap:30px}.contact-action{margin-right:0}.desktop-break{display:none}}@media (width>=768px) and (width<=950px){.hero-experience{grid-template-columns:1fr;gap:18px}.experience-label{flex-direction:row-reverse;justify-content:space-between;align-items:baseline}.experience-list{gap:16px}.experience-list li{padding-left:14px}}@media (width<=767px){.section-space{padding-block:76px}.site-header{padding-top:24px}.topbar{gap:15px}.vision{font-size:11px}.wordmark{height:15px}.service-bar{padding-top:17px}.service-name,.service-bar nav{font-size:11px}.service-bar .nav-detail{display:none}.nav-contact{gap:19px}.hero{padding-top:20px}.hero-meta{margin-bottom:10px}.hero-meta .eyebrow{letter-spacing:.09em;font-size:9px}.hero-meta>p:last-child{font-size:9px}.hero-poster{height:auto;padding-bottom:clamp(280px,80vw,380px)}.hero-copy{max-width:none;padding:30px 23px 40px;position:relative;inset:auto}.hero-opening{margin-bottom:20px;font-size:clamp(18px,4.5vw,28px)}.hero-main{font-size:clamp(58px,15.2vw,89px)}.hero-closing{margin-top:0;font-size:clamp(29px,7.5vw,45px);line-height:1.6}.hero-lead{max-width:24em;margin-top:23px;font-size:14px;line-height:2}.hero-art{object-fit:contain;object-position:center;width:auto;max-width:none;height:clamp(280px,80vw,380px);inset:auto -12% -1px auto}.poster-edition{display:none}.hero-scroll{width:77px;height:77px;bottom:15px;right:15px}.hero-scroll>span:first-child{font-size:8px}.down-arrow{font-size:22px}.hero-experience{grid-template-columns:1fr;gap:20px;padding-block:25px 27px}.experience-label{flex-direction:row-reverse;justify-content:space-between;align-items:baseline}.experience-label>span:first-child{font-size:8px}.experience-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 20px;display:grid}.experience-list li{padding-left:13px;font-size:15px}.experience-list li:first-child{grid-column:1/-1}.intro{padding-block:85px}.intro-heading{margin-left:0}.intro-heading .eyebrow{margin-bottom:25px;font-size:10px}.intro-heading h2{font-size:clamp(29px,7.4vw,44px);line-height:1.8}.intro-heading h2 span{margin-left:.45em}.intro-grid{grid-template-columns:1fr;gap:30px;margin-top:34px}.intro-aside{order:2;justify-content:flex-end;gap:20px;margin-top:8px}.intro-sign{font-size:92px}.intro-aside>p{font-size:11px}.prose{font-size:15px;line-height:2.1}.prose p+p{margin-top:22px}.prose .intro-conclusion{font-size:16px}h2{font-size:33px}.section-label{letter-spacing:.09em;gap:12px;margin-bottom:27px;font-size:9px}.section-label>span:first-child{width:25px;height:25px;font-size:9px}.section-deck{font-size:14px}.problem-layout{grid-template-columns:1fr;gap:38px}.problem-head{position:relative}.problem-head h2{font-size:33px}.problem-head .section-deck{max-width:70%;margin-top:20px}.problem-mark{margin:0;font-size:108px;position:absolute;bottom:-10px;right:4%}.problem-list>li{gap:16px;padding-block:22px}.problem-list h3{font-size:17px}.problem-list p{font-size:13px;line-height:1.9}.problem-conclusion{padding-top:24px;font-size:13px}.approach-heading{flex-direction:column;align-items:flex-start;gap:23px;margin-bottom:36px}.approach-heading h2{font-size:clamp(32px,8.3vw,47px)}.approach-heading>p{margin:0;font-size:14px}.steps{grid-template-columns:1fr;gap:0}.step,.step:first-child,.step:nth-child(2),.step:nth-child(3),.step:last-child{border-bottom:1px solid #5b7763;border-right:0;padding:26px 0 32px 65px;position:relative}.step-number{font-size:43px;position:absolute;top:21px;left:0}.step-top{margin-bottom:9px}.step-en{font-size:9px}.step h3{margin-bottom:15px;font-size:20px}.step>p{font-size:14px}.step-tags{padding-top:18px}.approach-note{margin-top:25px;font-size:11px}.services-heading{flex-direction:column;align-items:flex-start;gap:22px;margin-bottom:38px}.services-heading h2{font-size:34px}.service-item summary{grid-template-columns:26px 1fr 32px;gap:12px;padding-block:25px}.service-index{font-size:12px}.service-en{letter-spacing:.03em;font-size:9px;line-height:1.6}.service-title{font-size:clamp(20px,5.35vw,27px);line-height:1.6}.service-toggle{width:32px;height:32px}.service-toggle:before,.service-toggle:after{width:12px;top:15px;left:9px}.service-content{grid-template-columns:1fr;gap:17px;margin-left:38px;padding-bottom:29px}.service-body{font-size:14px}.service-detail{padding:0;font-size:11px}.difference-grid{grid-template-columns:1fr;gap:30px}.difference-heading h2{font-size:clamp(29px,7.6vw,43px)}.difference-heading>p{margin-top:23px;font-size:14px}.difference-grid>.prose{padding-top:0}.questions{font-size:16px;line-height:2}.questions li+li{margin-top:12px}.support-scope{margin-top:40px}.scope-label{flex-direction:column;gap:10px;margin-bottom:22px}.scope-label>span:first-child{font-size:10px}.scope-label>span:last-child{font-size:11px}.support-scope ol{grid-template-columns:repeat(3,1fr)}.support-scope li{padding-block:21px;font-size:13px}.support-scope li:nth-child(n+4){border-top:1px solid #b5bea9}.support-scope li:nth-child(4):before{display:none}.technology-grid{grid-template-columns:1fr;gap:27px}.technology h2{font-size:30px}.technology .prose{padding:0}.contact{padding-bottom:0}.contact-grid{flex-direction:column;align-items:stretch;gap:40px}.contact h2{font-size:clamp(47px,12vw,65px);line-height:1.5}.contact-grid>div>p{margin-top:23px;font-size:14px}.contact-circle{width:235px}.contact-action{align-self:flex-end;margin-right:6%}.contact-circle>span:first-child{font-size:15px}.contact-arrow{font-size:70px}.contact-circle>span:last-child{font-size:11px}.contact-signature{margin-top:63px;padding-block:28px 32px;font-size:clamp(33px,8.6vw,60px);line-height:1.15}.site-footer{padding-block:21px}.footer-inner{gap:12px}.footer-inner small{letter-spacing:.04em;font-size:10px}.footer-inner>a{letter-spacing:.04em;gap:10px;font-size:9px}}@media (width<=359px){.hero-copy{padding-inline:19px}.hero-opening{font-size:16px}.hero-main{font-size:54px}.hero-closing{font-size:27px}.hero-lead{font-size:13px}.service-item summary{grid-template-columns:21px 1fr 28px;gap:8px}.service-title{font-size:19px}.service-en{font-size:9px}.service-toggle{width:28px;height:28px}.service-toggle:before,.service-toggle:after{top:13px;left:7px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition:none!important}.reveal-pending{opacity:1;translate:none}}@media print{.reveal-pending{opacity:1;translate:none}details>.service-content{display:block!important}}
