/* Fine civil linework and real, independently scrollable device previews. */
.civil-engineering-art{display:block;width:100%;height:auto;min-width:0}.proof-civil .civil-engineering-art{width:57%;min-width:0;flex:1;margin-left:10px}.proof-civil{padding-top:18px;padding-bottom:18px}.creator-experience .civil-engineering-art{margin-top:25px;opacity:.8}.reference-head-art.banner-blueprint .civil-engineering-art{width:130%;max-width:none;transform:rotate(-4deg);margin-left:-8%}.banner-blueprint:after{display:none}.banner-blueprint>span{margin-top:0}.reference-head-art.banner-blueprint{right:0;width:47%;overflow:hidden;opacity:.65}.trust-section{isolation:isolate}.trust-section:after{content:'';position:absolute;inset:0;background:url('/assets/civil-bridge-blue.svg') 25% 25%/1500px auto no-repeat;opacity:.12;z-index:-1;pointer-events:none}.trust-proof{background:#ffffffed}.unified-service-section:nth-of-type(odd){isolation:isolate}.unified-service-section:nth-of-type(odd):before{content:'';position:absolute;inset:0;background:url('/assets/civil-sheet-blue.svg') center/1400px auto no-repeat;opacity:.10;z-index:-1;pointer-events:none}.page-cta{isolation:isolate}.page-cta:after{content:''!important;display:block!important;position:absolute!important;inset:0!important;background:url('/assets/civil-bridge-blue.svg') 20% 35%/1400px auto no-repeat!important;opacity:.15!important;pointer-events:none;z-index:-1}.home[data-scene=night] .page-cta:after,.home[data-scene=winter] .page-cta:after{background-image:url('/assets/civil-bridge-white.svg')!important;opacity:.1!important}.case-study-page{background:#f7f8f7}.case-study{position:relative;isolation:isolate;overflow:clip}.case-study:before{content:'';position:absolute;top:-70px;left:-8%;width:1400px;height:790px;background:url('/assets/civil-sheet-blue.svg') center/contain no-repeat;opacity:.12;z-index:-1;pointer-events:none}.case-layout{max-width:1440px;margin:auto;padding:65px 60px 100px;display:grid;grid-template-columns:28% 67%;gap:5%;align-items:start}.case-sidebar{position:sticky;top:150px;padding:8px 0}.case-back{font-size:13px;color:#6a8292;display:inline-block;margin-bottom:35px;border-bottom:1px solid #b5c4cc;padding-bottom:4px}.case-sidebar>.eyebrow{color:#388cd5;font-size:10px;letter-spacing:.1em}.case-sidebar h1{font-size:34px;line-height:1.6;margin:20px 0 18px;letter-spacing:.035em}.case-sidebar h1>small{display:block;font-size:18px;line-height:1.7;margin-top:5px}.case-goal{font-size:18px;line-height:1.9;font-weight:600;margin-bottom:32px;max-width:340px}.case-sidebar dl{margin:0}.case-sidebar dl>div{margin-top:24px}.case-sidebar dt{font:600 12px/1.6 Barlow,sans-serif;letter-spacing:.08em;color:#388cd5;margin-bottom:9px;text-transform:uppercase}.case-sidebar dd{font-size:14px;line-height:2;margin:0}.case-external{display:flex;justify-content:space-between;align-items:center;padding:15px 0;font-size:14px;font-weight:600;max-width:250px;border-bottom:1px solid #a1b4c2;margin-top:30px;color:#276c9f}.case-external>span{font-size:22px;transition:translate .3s}.case-external:hover>span{translate:4px -4px}.case-main{min-width:0}.case-preview{background:#eaf0f3;border:1px solid #dce5eb;padding:30px 25px 20px;position:relative;isolation:isolate;border-radius:4px}.case-preview:before{content:'';position:absolute;inset:0;z-index:-1;background:url('/assets/civil-bridge-blue.svg') center/cover;opacity:.17;pointer-events:none}.preview-caption{margin-bottom:25px}.preview-caption>div>span{font:600 11px Barlow;letter-spacing:.13em;color:#587d95}.preview-caption h2{font-size:20px;line-height:1.7;margin-top:7px}.preview-caption>p{font-size:12px;line-height:2;color:#5b7587;margin-top:12px}.device-pair{display:grid;grid-template-columns:minmax(0,76%) minmax(0,20%);gap:4%;align-items:end}.device-unit{min-width:0;position:relative}.device-label{display:flex;justify-content:space-between;gap:10px;align-items:center;margin-bottom:12px;font:600 10px Barlow;color:#4a6d85;letter-spacing:.1em}.device-label>small{font:500 9px Barlow;letter-spacing:0;white-space:nowrap}.device-hardware{position:relative;background:linear-gradient(120deg,#151c24,#333f4a 46%,#161e28);padding:15px 9px 17px;border:1px solid #14202c;border-radius:13px;box-shadow:0 14px 30px #203c5021,0 1px 1px #fff8 inset}.device-desktop .device-hardware:before{content:'';position:absolute;width:3px;height:3px;border-radius:50%;background:#657284;left:50%;top:6px;box-shadow:0 0 0 2px #1119}.device-screen{position:relative;aspect-ratio:1440/900;overflow:hidden;background:#fff;border-radius:3px;isolation:isolate;transform:translateZ(0)}.device-screen>iframe{position:absolute;left:0;top:0;border:0;width:1440px;height:900px;max-width:none;transform-origin:0 0;transform:scale(var(--device-scale,.4));pointer-events:none;opacity:0;transition:opacity .3s;background:white}.device-poster{display:block;width:100%;height:100%;object-fit:cover;object-position:top;position:absolute;inset:0;transition:opacity .3s}.device-unit.is-loaded .device-screen>iframe{opacity:1}.device-unit.is-loaded .device-poster{opacity:0}.device-unit.is-interactive .device-screen>iframe{pointer-events:auto}.device-start{position:absolute;inset:0;z-index:3;background:transparent;color:#fff;font-size:11px;letter-spacing:.01em;display:flex;align-items:flex-end;justify-content:flex-end;padding:9px;cursor:pointer}.device-start>span{background:#203c50e8;padding:7px 10px;border:1px solid #ffffff70;border-radius:2px;box-shadow:0 2px 8px #203c5030}.device-start{font-size:0}.device-start>span{font-size:12px}.device-start:after{content:'クリックして操作';position:absolute;right:45px;bottom:9px;font-size:10px;line-height:1.7;background:#203c50e8;padding:7px 10px;border:1px solid #ffffff70;border-right:0;border-radius:2px 0 0 2px}.device-unit.is-interactive .device-start{display:none}.device-unit.is-interactive .device-hardware{outline:2px solid #388cd5;outline-offset:4px}.device-loading{position:absolute;left:5px;top:5px;background:#fffffff0;color:#45647a;font-size:10px;line-height:1.6;padding:5px 8px;z-index:2;display:none}.device-unit.is-loading .device-loading{display:block}.device-stand{width:27%;height:27px;margin:0 auto;position:relative;background:linear-gradient(90deg,#909ba7,#e1e6eb 45%,#8b98a4);clip-path:polygon(30% 0,70% 0,76% 78%,100% 87%,100% 100%,0 100%,0 87%,24% 78%)}.device-tools{display:flex;justify-content:center;gap:6px;align-items:center;margin-top:15px;flex-wrap:wrap}.device-tools>button{border:1px solid #9db2c1;background:#ffffffe6;color:#33566e;font-size:11px;padding:5px 8px;line-height:1.7;border-radius:2px;transition:background .25s,color .25s}.device-tools>button:hover{background:#203c50;color:#fff}.device-tools>button[aria-pressed=true]{background:#276fa6;color:#fff;border-color:#276fa6}.device-mobile .device-hardware{padding:7px;border-radius:22px;border:2px solid #15212c;box-shadow:0 12px 25px #203c502a,0 0 0 1px #85929e inset}.device-mobile .device-hardware:after{content:'';position:absolute;top:13px;left:50%;translate:-50% 0;width:29%;height:5px;background:#15212c;border-radius:6px;z-index:5;pointer-events:none}.device-mobile .device-screen{aspect-ratio:390/844;border-radius:14px}.device-mobile iframe{width:390px;height:844px}.device-mobile .device-stand{display:none}.device-mobile .device-label>small{display:none}.device-mobile .device-tools{gap:4px}.device-mobile .device-tools>button{font-size:10px;padding:4px 5px}.device-mobile .device-start:after{display:none}.device-mobile .device-start{padding:6px}.device-mobile .device-start>span{padding:5px;font-size:11px}.preview-note{font-size:11px;line-height:1.9;color:#607c8e;margin-top:22px}.preview-device-tabs{display:none}.case-narrative{display:grid;grid-template-columns:100px minmax(0,1fr);gap:25px;padding:45px 0;border-bottom:1px solid #d4dee5}.case-narrative>h2{font-size:15px;line-height:1.8;color:#4b708a;letter-spacing:.03em}.case-narrative h3{font-size:22px;line-height:1.8;letter-spacing:.02em;margin-bottom:18px}.case-narrative p{font-size:16px;line-height:2.2;color:#425d6e;margin-top:15px}.case-narrative p:first-child{margin-top:0}.case-detail-image{margin:40px 0;overflow:hidden;border:1px solid #dce5ea;background:#fff}.case-detail-image>img{display:block;width:100%;height:auto}.case-detail-image>figcaption{font-size:11px;color:#7390a3;padding:10px 15px;border-top:1px solid #e7edf1}.case-consult{display:flex;justify-content:space-between;align-items:center;gap:25px;padding:30px;background:#eaf1f5;margin-top:40px}.case-consult>p{font-size:16px;line-height:2;font-weight:600}.case-consult>.text-link{font-size:13px;gap:15px;flex-shrink:0;margin-top:0}.case-consult .text-link>span{width:40px;height:35px;font-size:20px}.case-related{background:#fff;padding:80px max(60px,calc((100vw - 1230px)/2))}.case-related .unified-heading>span{font-size:50px}.case-related .unified-heading>h2{font-size:19px}.case-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.related-work{display:block;min-width:0}.related-work>div{aspect-ratio:1.6;overflow:hidden;position:relative;background:#edf1f3}.related-work img{display:block;width:100%;height:100%;object-fit:cover;object-position:top;transition:transform .6s,filter .4s}.related-work>div>span{position:absolute;bottom:0;right:0;background:#203c50e8;color:#fff;font:600 10px Barlow;letter-spacing:.06em;padding:10px 14px;translate:0 100%;transition:translate .3s}.related-work:hover img{transform:scale(1.04);filter:saturate(1.1)}.related-work:hover>div>span,.related-work:focus-visible>div>span{translate:0 0}.related-work>small{display:block;font-size:11px;color:#6a8598;margin-top:18px}.related-work h3{font-size:21px;line-height:1.7;margin-top:5px}.related-work p{font-size:14px;line-height:1.9;color:#667f90;margin-top:6px}.case-pager{display:flex;justify-content:space-between;gap:25px;border-top:1px solid #d6e0e6;margin-top:55px;padding-top:20px;flex-wrap:wrap}.case-pager>.text-link{font-size:12px;gap:15px}.case-pager>.text-link>span{width:38px;height:30px;font-size:18px}.preview-dialog{width:96vw;max-width:1440px;max-height:96dvh;border:1px solid #9db0bf;border-radius:5px;background:#edf2f5;padding:25px;color:#203c50;overflow:auto;box-shadow:0 25px 100px #11253640}.preview-dialog::backdrop{background:#0e243be6;backdrop-filter:blur(5px)}.preview-dialog-head{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-bottom:20px}.preview-dialog-head>div>span{font:600 10px Barlow;letter-spacing:.15em;color:#5c8098}.preview-dialog-head h2{font-size:19px;line-height:1.8;margin-top:4px}.preview-dialog-head>button{font-size:14px;border:1px solid #879fb1;padding:10px 15px;background:white;flex-shrink:0}.preview-dialog-content{display:flex;justify-content:center;min-height:100px}.preview-dialog-content .device-unit{width:100%}.preview-dialog-content .device-desktop{width:min(1180px,calc((100dvh - 260px)*1.6))}.preview-dialog-content .device-mobile{width:min(390px,calc((100dvh - 220px)*.46))}.preview-dialog-content .device-tools [data-device-action=expand],.preview-dialog-content .device-tools [data-device-action=interact],.preview-dialog-content .device-start{display:none}.preview-dialog-content .device-screen>iframe{pointer-events:auto}.preview-dialog>p{font-size:12px;color:#5c798d;text-align:center;margin-top:15px}.preview-dialog .device-unit.is-interactive .device-hardware{outline:none}.preview-dialog-content .device-label{display:none}.case-study-page>header.scrolled{background:#f7f8f7ed}.preview-device-tabs>button{background:transparent;padding:6px 14px;border:1px solid #9eb5c5;color:#536f82;font-size:12px}.preview-device-tabs>button[aria-pressed=true]{background:#203c50;color:#fff}.case-study-page .page-cta{margin-top:0}.case-sidebar .case-goal{color:#35566a}.case-narrative>div{min-width:0}
@media(min-width:751px) and (max-width:1100px){.case-layout{padding:50px 40px 70px;grid-template-columns:27% 68%;gap:5%}.case-sidebar h1{font-size:29px}.case-goal{font-size:16px}.case-sidebar dd{font-size:13px}.case-preview{padding:22px 18px}.device-pair{grid-template-columns:71% 25%}.case-narrative{grid-template-columns:1fr;gap:18px}.case-narrative h3{font-size:21px}.case-consult{display:block;padding:25px}.case-consult>.text-link{margin-top:20px;width:max-content}.case-related{padding-left:40px;padding-right:40px}.case-related .unified-heading{display:block}.case-related .unified-heading>h2{margin-top:18px;font-size:18px}.device-tools>button{font-size:10px;padding:4px 6px}.reference-head-art.banner-blueprint{width:46%}.proof-civil .civil-engineering-art{width:47%;margin-left:0}}
@media(max-width:750px){.case-layout{padding:30px 20px 55px;display:block}.case-sidebar{position:static;padding:0 0 30px}.case-back{font-size:12px;margin-bottom:25px}.case-sidebar>.eyebrow{font-size:10px}.case-sidebar h1{font-size:31px;line-height:1.6;margin:17px 0 14px}.case-sidebar h1>small{font-size:17px}.case-goal{font-size:18px;line-height:1.9;margin-bottom:25px;max-width:none}.case-sidebar dl{display:grid;grid-template-columns:1fr 1fr;gap:18px 20px}.case-sidebar dl>div{margin-top:0}.case-sidebar dt{font-size:10px;letter-spacing:.06em}.case-sidebar dd{font-size:12px;line-height:2}.case-sidebar dl>div:nth-child(3){grid-column:1/-1}.case-external{font-size:14px;margin-top:25px;max-width:none;padding:12px 0}.case-preview{padding:23px 16px 20px}.preview-caption h2{font-size:18px;line-height:1.8}.preview-caption>p{font-size:12px;line-height:2}.preview-caption>p br{display:none}.preview-device-tabs{display:flex;justify-content:center;gap:10px;margin-bottom:25px}.device-pair{display:block}.device-pair>.device-unit{display:none}.case-preview[data-selected=desktop] .device-desktop{display:block}.case-preview[data-selected=mobile] .device-mobile{display:block;max-width:245px;margin:0 auto}.device-label{font-size:10px;max-width:none;margin-bottom:12px}.device-mobile .device-label>small{display:block;font-size:10px}.device-mobile .device-hardware{border-radius:30px;padding:8px}.device-mobile .device-screen{border-radius:20px}.device-mobile .device-hardware:after{top:16px;height:7px}.device-mobile .device-start:after{display:block;right:40px;font-size:11px;bottom:6px;padding:5px 8px}.device-start{padding:6px}.device-start:after{bottom:6px;right:40px;padding:6px 8px}.device-tools{margin-top:17px;gap:9px}.device-mobile .device-tools{gap:9px}.device-tools>button,.device-mobile .device-tools>button{font-size:12px;padding:6px 9px}.device-mobile .device-tools>button[aria-label]{padding-left:9px;padding-right:9px}.preview-note{font-size:11px;margin-top:22px}.device-desktop .device-hardware{border-radius:9px;padding:12px 6px 12px}.device-desktop .device-hardware:before{top:4px}.device-stand{height:24px}.case-narrative{display:block;padding:33px 0}.case-narrative>h2{font-size:14px;margin-bottom:18px}.case-narrative h3{font-size:21px;line-height:1.85;margin-bottom:17px}.case-narrative p{font-size:15px;line-height:2.2}.case-detail-image{margin:30px 0}.case-detail-image>figcaption{font-size:10px;line-height:1.8}.case-consult{display:block;margin-top:30px;padding:25px 20px}.case-consult>p{font-size:16px;line-height:1.9}.case-consult>.text-link{font-size:14px;display:flex;justify-content:space-between;gap:20px;margin-top:20px}.case-related{padding:55px 20px}.case-related .unified-heading>span{font-size:40px}.case-related .unified-heading>h2{font-size:17px;line-height:1.9}.case-related-grid{grid-template-columns:1fr;gap:35px}.related-work>div{aspect-ratio:1.6}.related-work>div>span{translate:0 0;font-size:10px;padding:9px 12px}.related-work>small{font-size:11px;margin-top:15px}.related-work h3{font-size:21px;margin-top:5px}.related-work p{font-size:14px}.case-pager{gap:15px;margin-top:38px}.case-pager>.text-link{font-size:11px;gap:10px;margin-top:10px}.case-pager>.text-link>span{display:none}.case-pager>.text-link:nth-child(2){order:-1;width:100%;font-size:14px;margin-bottom:7px}.preview-dialog{width:98vw;max-height:98dvh;padding:18px 12px}.preview-dialog-head{margin-bottom:18px;gap:12px}.preview-dialog-head h2{font-size:15px}.preview-dialog-head>button{font-size:12px;padding:8px 10px}.preview-dialog-head>div>span{font-size:9px}.preview-dialog-content .device-desktop{width:100%}.preview-dialog-content .device-mobile{width:min(300px,calc((100dvh - 220px)*.46))}.preview-dialog>p{font-size:11px;line-height:1.9;margin-top:18px}.proof-civil .civil-engineering-art{width:47%;margin-left:0}.reference-head-art.banner-blueprint{width:190px}.reference-head-art.banner-blueprint .civil-engineering-art{width:160%;margin-left:-45%}.creator-experience .civil-engineering-art{margin-top:20px}.trust-section:after{background-size:1000px auto;background-position:25% 100px;opacity:.10}.unified-service-section:nth-of-type(odd):before{background-size:1100px auto;opacity:.10}.page-cta:after{background-size:1000px auto!important;opacity:.12!important}.case-study:before{width:1000px;height:565px;left:-400px;top:90px;opacity:.10}}
@media(prefers-reduced-motion:reduce){.device-screen iframe,.device-poster{transition:none}.related-work img,.related-work>div>span{transition:none}.civil-engineering-art{animation:none!important}.case-sidebar{position:static}}
.device-unit.is-interactive:not(.is-loaded) .device-screen>iframe{pointer-events:none}@media(max-width:750px){.device-start:after{content:'タップして操作'}}
.motion .trust-story .civil-engineering-art{clip-path:inset(0 100% 0 0);opacity:.2;transition:clip-path 1.2s cubic-bezier(.2,.65,.3,1),opacity 1.2s}.motion .trust-story.in-view .civil-engineering-art{clip-path:inset(0);opacity:1}.motion-off .trust-story .civil-engineering-art{clip-path:none;opacity:1}@media(prefers-reduced-motion:reduce){.motion .trust-story .civil-engineering-art{clip-path:none;opacity:1;transition:none}}
.case-sidebar .case-goal{max-width:none;text-wrap:balance}.device-tools>button{font-size:12px}.device-mobile .device-tools>button{font-size:11px}@media(max-width:750px){.device-mobile .device-tools>button{font-size:12px}}
