@charset "UTF-8";
:root{--navy:#071827;--ink:#111820;--cyan:#20b9ef;--light:#f5f7fa}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;color:var(--ink);background:#fff;font-family:"Noto Sans JP","Yu Gothic",Meiryo,sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid var(--cyan);outline-offset:6px}h1,h2,h3,p{margin:0}button{border:0}img{display:block}section[id],div[id]{scroll-margin-top:100px}.skip{position:fixed;top:-80px;left:20px;background:#fff;padding:15px;z-index:100}.skip:focus{top:10px}.header{position:absolute;top:0;width:100%;height:108px;padding:20px 5.2%;display:flex;align-items:center;gap:28px;color:#fff;z-index:30;transition:background .25s,height .25s}.header.scrolled{position:fixed;background:rgba(7,24,39,.97);height:86px;box-shadow:0 1px 0 #ffffff15}.brand{display:block;white-space:nowrap;line-height:1.08}.brand>span{display:block;font-size:22px;font-weight:750;letter-spacing:.01em}.brand strong{display:block;font-size:31px;letter-spacing:-.02em}.brand b{color:var(--cyan)}.brand-note{font-size:12px;line-height:1.8;letter-spacing:.12em;white-space:nowrap}.desktop-nav{display:flex;gap:28px;margin-left:auto;align-items:center;font-family:Arial,sans-serif;font-size:12px;letter-spacing:.1em}.desktop-nav a{position:relative;padding:20px 0}.desktop-nav a:hover,.desktop-nav .active{color:#29d4f6}.desktop-nav .active:after{content:"";position:absolute;bottom:0;left:0;width:28px;height:2px;background:#29d4f6}.header-cta{display:flex;align-items:center;justify-content:space-between;gap:30px;background:linear-gradient(110deg,#20c9f4,#007bb7);padding:6px 7px 6px 30px;border-radius:40px;white-space:nowrap;font-size:14px;font-weight:bold;letter-spacing:.1em}.header-cta span{background:#fff;color:#159cdd;border:5px solid #ffffff66;background-clip:padding-box;width:39px;height:39px;display:grid;place-items:center;border-radius:50%;font-size:25px}.menu-toggle{flex:none;width:51px;height:51px;border:1px solid #ffffffb0;border-radius:50%;background:transparent;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}.menu-toggle span{display:block;width:20px;height:1px;background:#fff;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(3.5px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-3.5px) rotate(-45deg)}.menu{position:fixed;z-index:29;inset:0;background:#071827fa;color:#fff;padding:130px 12% 50px}.menu[hidden]{display:none}.menu a{display:block;border-bottom:1px solid #ffffff30;font-size:clamp(24px,4vw,46px);padding:20px 0;letter-spacing:.07em}.menu small{font-size:12px;margin-left:25px;color:#b9cbd5}.hero{height:573px;position:relative;overflow:hidden;background:#071827;color:#fff}.hero-photo{position:absolute;width:100%;height:100%;object-fit:cover;object-position:center 46%}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,9,15,.9),rgba(0,10,18,.36) 56%,rgba(0,12,20,.18)),linear-gradient(0deg,#00141d66,transparent 60%)}.hero-slash{position:absolute;inset:0;background:#010c1299;clip-path:polygon(0 61%,28% 0,37% 0,0 91%)}.city-panel{position:absolute;right:0;top:0;width:31.5%;height:100%;background-image:linear-gradient(0deg,#00131ecc,transparent 75%),url('../images/photos.png');background-size:100% 100%,300% 200%;background-position:center,left top;clip-path:polygon(94% 0,100% 0,100% 100%,0 100%)}.hero-content{position:relative;z-index:2;padding:144px 0 0 5.2%;max-width:1120px}.hero h1{font-size:clamp(44px,5.4vw,84px);font-weight:850;letter-spacing:-.045em;line-height:1.22}.hero h1 span{color:#1fc7f2}.hero h1>span:first-child{font-size:1.14em}.hero-content>p{font-size:20px;letter-spacing:.07em;font-weight:bold;margin-top:18px}.mobile-break{display:none}.angled-button{display:inline-flex;align-items:center;gap:28px;justify-content:space-between;padding:18px 52px 18px 35px;background:linear-gradient(110deg,#38def4 0%,#0ba8e4 55%,#04304a 100%);color:#fff;min-width:305px;clip-path:polygon(8% 0,100% 0,85% 100%,0 100%,0 40%);font-size:15px;font-weight:bold;letter-spacing:.1em;transition:filter .2s,transform .2s}.angled-button span{font-size:30px;line-height:1}.angled-button:hover{filter:brightness(1.15);transform:translateX(3px)}.hero .angled-button{margin-top:30px}.service-jump{font-size:12px;margin-left:25px;letter-spacing:.08em;border-bottom:1px solid #ffffff70;padding-bottom:8px}.service-jump span{margin-left:15px}.hero-aside{position:absolute;right:3.2%;top:155px;z-index:3}.hero-aside>p{font-size:15px;letter-spacing:.3em;line-height:1.9;font-family:Arial,sans-serif}.aside-line{display:block;margin:23px 0 24px 13px;height:37px;width:1px;background:#ffffff80;transform:rotate(38deg)}.hero-aside small{font-size:11px;line-height:2.2;letter-spacing:.15em}.scroll-cue{position:absolute;right:3.4%;bottom:0;font-size:9px;letter-spacing:.2em;z-index:3;text-align:center}.scroll-cue span{display:block;width:1px;height:52px;background:#fff9;margin:12px auto 0}.trust{position:relative;display:flex;min-height:162px;background:#020b10;color:#fff;margin-top:-60px;z-index:4;clip-path:polygon(0 0,61% 0,58.5% 37%,100% 37%,100% 100%,0 100%);padding:35px 5.2% 24px}.trust-wedge{position:absolute;top:0;bottom:0;left:0;width:6%;background:#078fcb;clip-path:polygon(0 0,100% 0,0 85%)}.trust-items{display:grid;grid-template-columns:repeat(3,1fr);width:60%;text-align:center}.trust-items>div{padding:5px 10px;position:relative}.trust-items>div+div:before{content:"";position:absolute;left:0;top:15px;height:80px;width:1px;background:#ffffff60}.trust strong{font-size:35px;letter-spacing:.025em;line-height:1.4}.trust strong span{font-size:15px;margin-left:4px}.trust-items p{font-size:12px;line-height:1.9;letter-spacing:.1em;margin-top:7px}.trust-message{margin-left:auto;align-self:flex-end;font-size:13px;letter-spacing:.1em;line-height:2;position:relative;padding:0 0 4px 65px}.trust-message span{position:absolute;left:0;top:20px;width:40px;height:1px;background:#fff8}.section{padding:90px 5.2%}.services{position:relative;display:flex;gap:30px;padding-top:34px;padding-bottom:48px;overflow:hidden}.watermark{position:absolute;top:15px;left:3.8%;font:italic 900 clamp(80px,7vw,112px)/1 Arial,sans-serif;color:#101f3507;letter-spacing:-.04em;pointer-events:none}.service-intro{width:28%;flex-shrink:0;padding-top:55px;position:relative}.eyebrow{color:#049fd5;font:600 11px/1.5 Arial,sans-serif;letter-spacing:.13em;margin-bottom:15px;position:relative}.eyebrow:before{content:"";display:inline-block;width:1px;height:17px;background:#36bef2;margin-left:-15px;margin-right:14px;vertical-align:middle}h2{font-size:clamp(24px,2.1vw,34px);line-height:1.6;letter-spacing:-.035em}.service-intro h2{font-size:clamp(21px,1.8vw,29px);line-height:1.5}.body-copy{font-size:12px;line-height:1.9;letter-spacing:.035em;margin-top:20px}.short-rule{display:block;width:47px;height:1px;background:#111820;margin-top:30px}.service-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:22px;flex:1;min-width:0}.service-item{display:flex;flex-direction:column;align-items:stretch}.photo{background-image:url('../images/photos.png');background-size:300% 200%}.consulting{background-position:50% 0}.production{background-position:100% 0}.search{background-position:0 100%}.maintenance{background-position:50% 100%}.team{background-position:100% 100%}.service-image{height:164px;clip-path:polygon(15% 0,100% 0,85% 100%,0 100%);position:relative;transition:filter .25s}.service-item:hover .service-image{filter:brightness(1.15)}.service-image span{position:absolute;bottom:6px;left:7%;font:italic 26px Arial,sans-serif;color:#071827;background:#ffffffbf;padding:1px 5px}.service-item h3{font-size:16px;line-height:1.5;margin:10px 5px}.service-item>p{font-size:12px;line-height:1.9;margin:0 5px}.item-arrow{font-size:25px;margin:auto 17px 0 auto;padding-top:5px;color:#334350}.issues{display:grid;grid-template-columns:1fr 1.2fr;gap:8%;background:#f5f7fa;border-top:1px solid #e8edf0}.issues h2{font-size:35px}.issue-list p{padding:23px 0;border-bottom:1px solid #cad2d9;font-size:16px}.issue-list span{font:italic 19px Arial;color:#069bcf;margin-right:25px}.strength{background:#071827;color:#fff;display:grid;grid-template-columns:1fr 1fr;gap:6%;padding-left:0;position:relative;overflow:hidden}.strength-photo{clip-path:polygon(0 0,100% 0,79% 100%,0 100%);min-height:530px}.strength-copy{position:relative;padding-top:15px}.large-type{font:900 clamp(55px,6vw,95px)/.95 Arial,sans-serif;color:#ffffff0c;letter-spacing:-.04em;position:absolute;right:0;top:35px;pointer-events:none}.strength h2{position:relative;margin-top:45px;font-size:33px}.strength-copy>p:not(.large-type):not(.eyebrow){font-size:13px;line-height:2.3;margin-top:24px;color:#d6e1e8}.strength-points{margin-top:30px}.strength-points p{padding:18px 0;border-top:1px solid #ffffff30;font-size:15px}.strength-points span{color:#35c6f1;font:italic 20px Arial;margin-right:20px}.strategy-heading{display:grid;grid-template-columns:1fr 1fr;column-gap:6%}.strategy-heading .eyebrow{grid-column:1/-1}.strategy h2{font-size:34px}.strategy h2 span{color:#069fcd}.strategy-heading>p:last-child{align-self:center;font-size:14px;line-height:2.2}.analysis-grid{display:grid;grid-template-columns:repeat(3,1fr);margin-top:50px;border-top:1px solid #cbd5dd;border-bottom:1px solid #cbd5dd}.analysis-grid>div{padding:30px}.analysis-grid>div+div{border-left:1px solid #cbd5dd}.analysis-grid span{font:11px Arial;letter-spacing:.15em;color:#028cbe}.analysis-grid h3{font-size:24px;margin:16px 0}.analysis-grid p{font-size:13px;line-height:2.3}.scope-note{font-size:11px;line-height:1.9;color:#56616c;margin-top:22px}.details{padding-top:0;display:grid;grid-template-columns:repeat(3,1fr);gap:40px}.details h3{font-size:20px;margin-bottom:20px}.details p:last-child{font-size:13px;line-height:2}.flow{background:#f1f5f8;display:grid;grid-template-columns:1fr 1.2fr;gap:8%}.flow>div>p:last-child{font-size:13px;margin-top:24px}.flow ol{padding:0;margin:0;list-style:none}.flow li{display:flex;gap:30px;padding:24px 0;border-top:1px solid #c6d0d8}.flow li>span{font:italic 30px Arial;color:#089bd0}.flow h3{font-size:18px;margin-bottom:9px}.flow li p{font-size:12px;line-height:1.9}.contact{position:relative;background:#061723;color:#fff;overflow:hidden;padding-top:75px;padding-bottom:65px}.contact:before{content:"";position:absolute;inset:0;background:#0a344a;clip-path:polygon(80% 0,100% 0,100% 100%,53% 100%)}.contact>*{position:relative}.contact h2{font-size:clamp(36px,4.5vw,68px);line-height:1.4}.contact>p:not(.eyebrow):not(.prototype-note){margin-top:25px;font-size:14px;line-height:2}.contact-button{position:absolute;right:10%;top:42%;min-width:330px}.prototype-note{font-size:10px;color:#adbfcd;margin-top:35px;letter-spacing:.08em}.footer{background:#020b12;color:#fff;padding:45px 5.2% 25px;display:flex;gap:45px;align-items:center;flex-wrap:wrap}.footer .brand strong{font-size:25px}.footer .brand>span{font-size:17px}.footer>p{font-size:13px;line-height:2}.footer small{color:#9aadb9;font-size:10px}.back-top{margin-left:auto;font:11px Arial;letter-spacing:.1em}.copyright{width:100%;border-top:1px solid #ffffff20;padding-top:20px}dialog{border:1px solid #2a485c;max-width:540px;width:calc(100% - 40px);padding:45px;background:#071827;color:white}dialog::backdrop{background:#000a;backdrop-filter:blur(4px)}dialog h2{font-size:24px}dialog p:not(.eyebrow){font-size:14px;line-height:2;margin-top:20px}.dialog-close{position:absolute;right:14px;top:8px;background:none;color:white;font-size:28px}.dialog-confirm{padding:14px 24px;margin-top:24px;background:#20b9ef;color:#071827;font-weight:bold}
@media(min-width:1600px){.hero{height:650px}.hero-content{padding-top:165px}.trust{min-height:177px}.service-image{height:190px}}
@media(max-width:1250px){.header{gap:20px}.brand-note{display:none}.desktop-nav{gap:20px}.hero h1{font-size:6vw}.hero-content>p{font-size:17px}.hero-aside{right:2%}.hero-aside>p{font-size:12px}.service-intro{width:27%}.services{gap:20px}.service-grid{gap:10px}.service-item h3{font-size:14px}.trust strong{font-size:28px}.trust strong span{font-size:12px}.trust-message{font-size:11px;padding-left:45px}.trust-message span{width:27px}}
@media(max-width:960px){.desktop-nav{display:none}.header-cta{margin-left:auto}.hero{height:620px}.hero-content{padding-top:160px}.hero h1{font-size:7.1vw}.hero-content>p{max-width:75%;line-height:1.8}.hero-aside{top:165px}.city-panel{width:32%;clip-path:polygon(100% 12%,100% 100%,0 100%)}.trust{margin-top:-40px;clip-path:polygon(0 0,70% 0,65% 25%,100% 25%,100% 100%,0 100%);padding-top:30px}.trust-items{width:100%}.trust-message{display:none}.services{display:block;padding-top:50px}.service-intro{width:100%;padding:0 0 30px}.service-intro h2{font-size:29px}.short-rule{display:none}.service-grid{gap:20px}.service-image{height:150px}.watermark{font-size:100px;top:20px}.strength h2{font-size:25px}.strength-photo{min-height:520px}.issues h2{font-size:29px}.issue-list p{font-size:13px}.strategy h2{font-size:27px}.strategy-heading{gap:25px}.contact-button{right:5%;min-width:280px}.contact h2{font-size:42px}}
@media(max-width:600px){html{scroll-padding-top:78px}.header{height:86px;padding:17px 6%;gap:14px}.header.scrolled{height:76px}.brand>span{font-size:15px}.brand strong{font-size:22px}.header-cta{font-size:11px;letter-spacing:0;padding:9px 13px;gap:0}.header-cta span{display:none}.menu-toggle{width:39px;height:39px}.menu-toggle span{width:16px}.hero{height:690px}.hero-photo{object-position:60% center;width:140%;max-width:none;left:-40%;opacity:.85}.hero-shade{background:linear-gradient(90deg,#000b15bf,#000b1540),linear-gradient(0deg,#00101eee,transparent 80%)}.hero-slash{clip-path:polygon(0 45%,75% 0,93% 0,0 65%)}.hero-content{padding:160px 6% 0}.hero h1{font-size:clamp(32px,8.6vw,51px);line-height:1.48;letter-spacing:-.065em;white-space:nowrap}.hero h1>span:first-child{font-size:1.23em}.hero-content>p{font-size:13px;line-height:2;letter-spacing:.025em;max-width:100%;margin-top:20px}.mobile-break{display:block}.hero .angled-button{margin-top:26px;min-width:265px;padding:17px 45px 17px 25px;font-size:13px}.service-jump{display:block;width:140px;margin:23px 0 0 4px;font-size:11px}.city-panel{width:62%;height:245px;top:auto;bottom:0;clip-path:polygon(100% 0,100% 100%,0 100%);opacity:.8}.hero-aside{top:auto;bottom:43px;right:6%}.hero-aside>p{font-size:9px;line-height:1.65;letter-spacing:.2em}.hero-aside small,.aside-line,.scroll-cue{display:none}.trust{margin-top:0;clip-path:none;padding:25px 5%;min-height:135px}.trust-wedge{width:23px}.trust-items>div{padding:0 7px}.trust strong{font-size:25px;line-height:1.3}.trust strong span{display:block;font-size:10px;margin:5px 0 0}.trust-items p{font-size:9px;letter-spacing:0;line-height:1.9;margin-top:10px}.trust-items>div+div:before{top:8px;height:78px}.section{padding:60px 7%}.services{padding-top:47px;padding-bottom:45px}.watermark{font-size:73px;left:5%;top:21px}.service-intro{padding-top:14px;padding-bottom:28px}.eyebrow{font-size:10px;margin-bottom:14px}.service-intro h2{font-size:24px}.body-copy{font-size:11px;margin-top:18px}.body-copy br{display:none}.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:29px 15px}.service-image{height:125px}.service-image span{font-size:23px}.service-item h3{font-size:13px;margin:11px 0 8px;letter-spacing:-.02em}.service-item>p{font-size:10px;margin:0;line-height:1.9}.service-item>p br{display:none}.item-arrow{font-size:23px;padding-top:8px}.issues{display:block}.issues h2{font-size:27px}.issue-list{margin-top:28px}.issue-list p{font-size:12px;padding:20px 0}.issue-list span{font-size:17px;margin-right:14px}.strength{display:flex;flex-direction:column;padding:0 0 50px;gap:0}.strength-photo{height:280px;min-height:0;width:100%;clip-path:polygon(0 0,100% 0,83% 100%,0 100%)}.strength-copy{padding:35px 7% 0}.strength h2{font-size:27px;margin-top:24px}.strength-copy>p:not(.large-type):not(.eyebrow){font-size:12px;line-height:2.2}.large-type{font-size:68px;top:60px;right:7%}.strength-points p{font-size:13px}.strategy-heading{display:block}.strategy h2{font-size:25px}.strategy-heading>p:last-child{font-size:12px;line-height:2;margin-top:23px}.analysis-grid{grid-template-columns:1fr;margin-top:30px}.analysis-grid>div{padding:25px 0}.analysis-grid>div+div{border-left:0;border-top:1px solid #cbd5dd}.analysis-grid h3{font-size:22px;margin:12px 0}.analysis-grid p{font-size:12px}.scope-note{font-size:10px}.details{grid-template-columns:1fr;gap:30px;padding-top:0}.details h3{font-size:21px;margin-bottom:12px}.details p:last-child{font-size:12px}.flow{display:block}.flow h2{font-size:28px}.flow ol{margin-top:35px}.flow li{gap:23px}.flow h3{font-size:16px}.flow li p{font-size:11px}.contact{padding-top:55px;padding-bottom:40px}.contact h2{font-size:37px}.contact-button{position:relative;top:auto;right:auto;margin-top:28px;min-width:280px}.contact>p:not(.eyebrow):not(.prototype-note){font-size:12px}.contact:before{clip-path:polygon(100% 0,100% 100%,25% 100%)}.prototype-note{font-size:9px;line-height:1.8;margin-top:25px}.footer{padding:35px 7% 22px;gap:25px}.footer>p{font-size:11px}.footer .brand strong{font-size:23px}.back-top{font-size:10px}.menu{padding:110px 8% 30px}.menu a{font-size:28px;padding:24px 0}.menu small{font-size:10px;margin-left:12px}dialog{padding:40px 25px}dialog h2{font-size:21px}}
@media(max-width:600px){.contact h2{font-size:32px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}
