@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Sans+JP:wght@400;600&family=Noto+Serif+JP:wght@400;600;700&family=Oswald:wght@300;600&family=Zen+Kaku+Gothic+New:wght@400;700&display=swap');
:root{--ink:#082435;--blue:#0047ab;--muted:#566679;--line:#d9e1ea;--green:#2c6a54;--paper:#f4f2eb;--serif:'Noto Serif JP',serif;--sans:'IBM Plex Sans JP',sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:white;font-family:var(--sans);line-height:1.9}img{display:block;max-width:100%}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:white;border:1px solid var(--line)}a:focus-visible,button:focus-visible{outline:3px solid #1878ed;outline-offset:4px}button:disabled{opacity:.4;cursor:default}[hidden]{display:none!important}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}h1{font-size:clamp(30px,3.9vw,56px);line-height:1.5}h2{font-size:clamp(26px,2.65vw,38px);line-height:1.6}h3{font-size:24px;line-height:1.6}p{overflow-wrap:anywhere}button,a{touch-action:manipulation}.wrap{padding-left:max(6.67vw,24px);padding-right:max(6.67vw,24px)}.review-bar{padding:7px 24px;background:#e9eff8;font-size:12px;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.review-bar a{text-decoration:underline}.site-header{height:100px;padding:16px 6%;display:flex;justify-content:space-between;align-items:center;gap:32px}.logo{width:168px;height:73px;object-fit:contain}.site-header nav{display:flex;align-items:center;gap:40px;font:700 15px 'Zen Kaku Gothic New',sans-serif}.site-header nav a:last-child{padding:10px 0;border-bottom:2px solid var(--blue)}.menu-toggle{display:none}.skip,.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.skip:focus{position:fixed;z-index:9;top:0;left:0;width:auto;height:auto;padding:16px;background:white;clip-path:none}.eyebrow{font:300 24px 'Oswald',sans-serif;margin-bottom:24px;color:var(--blue)}.blog{color:#101317}.blog-intro{padding-top:96px;padding-bottom:96px}.subtitle{font-size:14px;letter-spacing:.55em;color:#626a73;margin-top:16px}.about-blog{margin-top:136px}.about-blog strong{font-size:12px;color:var(--blue)}.about-blog p{font-size:15px;line-height:32px;max-width:1100px;margin-top:44px}.featured{background:#f1f2f3;border-radius:19px;padding-top:64px;padding-bottom:88px}.featured h2{margin-bottom:32px}.carousel{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr);min-height:498px;border-radius:13px;background:white;overflow:hidden}.rail{display:flex;flex-direction:column;align-items:center;justify-content:space-between;border-right:1px solid #eee;font-size:10px;padding:16px 0}.rail>span:nth-child(2){writing-mode:vertical-rl;letter-spacing:.1em}.rail button{width:44px;min-height:44px;border:0}.dots{display:flex;flex-direction:column;flex:1;justify-content:center}.dots button{font-size:12px;color:#929292}.dots button[aria-pressed=true]{color:#0047ab;font-weight:700;background:#f1f2f3}.slides{min-width:0}.slides article{display:grid;grid-template-columns:1fr 1fr;min-height:498px;padding:10px;gap:16px}.featured-copy{align-self:center;padding:35px 5%;color:#626a73}.featured-copy h3{font:400 18px/2 var(--sans);margin:20px 0}.featured-copy>p:not(.meta){font-size:15px;margin-bottom:28px}.featured-art{position:relative;min-height:478px;overflow:hidden;border-radius:14px;background:#d9dcdf;isolation:isolate}.featured-art .blurred{position:absolute;inset:-8%;width:116%;height:116%;max-width:none;object-fit:cover;filter:blur(23px);opacity:.5;z-index:-1}.featured-art .foreground{position:absolute;inset:19%;width:62%;height:62%;object-fit:contain}.outline{display:inline-flex;min-height:44px;align-items:center;padding:6px 20px;border:1px solid #8e8e93;border-radius:99px;font-size:13px}.library{padding-top:64px;padding-bottom:88px}.blog .library{background:#f3f6f7}.library>h2{font-size:22px;margin-bottom:30px}.library-layout{display:flex;gap:40px}.filters{flex:0 0 200px;align-self:start;background:var(--paper);border-radius:24px;overflow:hidden;display:flex;flex-direction:column}.filters a{font-size:13px;min-height:44px;padding:12px 18px;border-bottom:1px solid #deded7}.filters .selected{color:var(--green);font-weight:600;background:#e6e9e0}.article-list{min-width:0;flex:1;display:flex;flex-direction:column;gap:16px}.article-row{display:flex;align-items:center;gap:20px;padding:16px 20px 16px 16px;border-radius:12px;background:white;min-height:172px}.article-row>div:not(.missing-image){flex:1;min-width:0}.thumb{width:180px;height:130px;object-fit:cover;border-radius:6px;flex:0 0 180px}.article-row h3{font-size:24px;font-weight:600;color:#13241d}.article-row p:not(.meta){font-size:13px;color:#61736a;margin-top:8px}.meta{font-size:12px;color:var(--green);line-height:1.7;margin-bottom:10px}.arrow{width:24px;height:24px;flex:0 0 24px}.missing-image{background:#eef2f5;color:#566679;display:grid;place-items:center;font-size:13px;min-height:130px}.pagination{display:flex;gap:28px;align-items:center;margin-top:36px;font-size:14px}.pagination a{padding:10px}.pagination a:hover{text-decoration:underline}.empty{padding:32px;background:white;border:1px solid var(--line);font-size:15px}.article-lead{padding-top:70px;padding-bottom:58px}.blog-detail .article-lead{background:var(--paper);padding-left:max(calc((100% - 960px)/2),24px);padding-right:max(calc((100% - 960px)/2),24px);color:#13241d}.article-lead>a:first-child{font-size:13px;color:var(--green)}.article-lead .meta{margin-top:24px}.article-lead h1{font-size:clamp(28px,3.33vw,48px);font-weight:600}.article-lead>p:not(.meta){margin-top:24px;color:#61736a}.edit-link{display:inline-block;text-decoration:underline;font-size:13px;margin-top:20px}.detail-cover{padding-bottom:76px}.detail-cover img{width:100%;max-height:620px;object-fit:cover}.article-area{display:flex;gap:70px;padding-top:50px;padding-bottom:100px;max-width:1440px;margin:auto}.toc{width:240px;flex:0 0 240px;background:var(--paper);padding:22px 20px;position:sticky;top:24px;align-self:start;font-size:13px}.toc ol{padding-left:22px}.toc li{margin:12px 0}.toc a:hover{text-decoration:underline}.prose{max-width:800px;min-width:0;flex:1;margin:auto;font-size:17px;line-height:2;color:#13241d}.prose h2{font-size:32px;font-weight:600;margin:40px 0 20px;scroll-margin-top:32px}.prose h3{font-size:25px;margin:30px 0 18px}.prose p,.prose ul,.prose ol{margin:20px 0}.prose blockquote{margin:26px 0;background:#173c2f;color:white;padding:26px 30px;font-family:var(--serif);font-size:22px}.prose table{border-collapse:collapse;display:block;overflow-x:auto;max-width:100%}.prose td,.prose th{padding:12px;border:1px solid var(--line)}.prose pre{overflow-x:auto;background:var(--paper);padding:20px}.prose a{color:var(--green);text-decoration:underline}.back-row{background:#eef5fc;padding-top:50px;padding-bottom:50px}.pill{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:12px 30px;background:white;color:var(--blue);border-radius:99px;font:700 16px 'Zen Kaku Gothic New',sans-serif;box-shadow:0 3px 10px #001f331f}.blue{background:var(--blue);color:white}.contact{position:relative;isolation:isolate;min-height:580px;background:linear-gradient(131deg,#052b50 4%,#0c5b95 50%,#033c70 91%);overflow:hidden;color:white}.contact-photo{position:absolute;right:0;top:0;width:52%;height:100%;object-fit:cover;z-index:-1}.contact-copy{padding:86px 6.5%;width:71%}.contact h2{font-size:clamp(26px,2.64vw,38px);line-height:1.6}.contact .eyebrow{color:white}.contact-copy>p:not(.eyebrow){font-size:20px;line-height:1.85;margin:32px 0 42px}.contact-caption{position:absolute;right:2.5%;top:40%;font:400 clamp(20px,1.94vw,28px)/1.7 var(--serif);color:var(--ink)}footer{padding:64px 6.67%;color:#17191c}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr 1fr;gap:48px}.footer-grid h3{font:600 12px var(--sans);margin:12px 0 24px}.footer-grid a{display:block;font-size:14px;margin:12px 0}.footer-grid p{font-size:13px;margin-top:20px}.footer-bottom{margin-top:36px;padding-top:24px;border-top:1px solid var(--line);display:flex;gap:40px;flex-wrap:wrap;font-size:12px}.footer-bottom small{width:100%}.news-intro{padding-top:80px;padding-bottom:130px}.news-intro .eyebrow{font-weight:600;font-size:64px}.news-intro h1{font-size:48px}.news-intro p:last-child{color:var(--muted);margin-top:24px}.corporate .article-row{border-radius:0;border-bottom:1px solid var(--line);padding:24px 0;min-height:140px}.case-hero{position:relative;min-height:640px;display:flex;align-items:center}.case-hero>div{width:48%;z-index:1}.case-hero>img{position:absolute;right:0;top:0;width:59%;height:100%;object-fit:cover}.case-hero h1{margin-bottom:32px}.scale{display:flex;align-items:center;gap:40px;padding-top:64px;padding-bottom:64px}.scale>strong{font:600 160px 'Oswald',sans-serif;color:var(--blue)}.scale h2{font-size:32px;min-width:180px}.scale p{font-size:13px;color:var(--muted);max-width:350px;margin-left:auto}.case-list{flex-direction:row;overflow-x:auto;scroll-snap-type:x mandatory}.case-selector{flex:0 0 calc((100% - 32px)/3);min-width:240px;text-align:left;border:0;border-bottom:2px solid transparent;padding:0 0 16px;scroll-snap-align:start}.case-selector img,.case-selector .missing-image{width:100%;height:190px;object-fit:cover}.case-selector strong{display:block;margin-top:20px;font-size:17px}.case-selector[aria-expanded=true]{border-color:var(--blue)}.case-panel{display:grid;grid-template-columns:1fr 1fr;gap:60px;margin:70px 0 0;align-items:center}.case-panel>img,.case-panel>.missing-image{width:100%;height:420px;object-fit:cover}.case-panel h2{margin-bottom:24px}.case-panel .pill{margin-top:32px}
@media(min-width:1800px){body{max-width:1800px;margin:auto}}
@media(max-width:1000px){.site-header nav{gap:20px}.library-layout{gap:24px}.filters{flex-basis:140px}.featured-art{min-height:400px}.carousel,.slides article{min-height:420px}.thumb{width:140px;flex-basis:140px}.contact-copy{width:76%}.contact-caption{right:2%;font-size:20px}.article-area{gap:30px}.toc{width:180px;flex-basis:180px}.footer-grid{gap:24px}.scale>strong{font-size:110px}}
@media(max-width:700px){.site-header{height:86px;padding:12px 24px;position:relative}.logo{width:125px;height:55px}.menu-toggle{display:block;min-height:44px;padding:8px 14px}.site-header nav{display:none;position:absolute;top:86px;left:0;right:0;z-index:5;background:white;padding:24px;box-shadow:0 8px 20px #08243522;flex-direction:column;align-items:stretch}.site-header nav.open{display:flex}.site-header nav a{padding:12px}.blog-intro{padding-top:56px;padding-bottom:56px}.subtitle{font-size:11px;letter-spacing:.35em}.about-blog{margin-top:64px}.about-blog p{margin-top:24px;font-size:14px}.featured{padding-top:40px;padding-bottom:40px}.carousel{grid-template-columns:44px 1fr;min-height:0}.slides article{grid-template-columns:1fr;gap:0;min-height:0;padding:8px}.featured-art{grid-row:1;min-height:230px}.featured-copy{padding:24px 12px}.featured-copy h3{font-size:17px}.featured-copy>p:not(.meta){font-size:14px}.rail>span:nth-child(2){margin-top:20px}.library-layout{flex-direction:column}.filters{flex:auto;width:100%;flex-direction:row;flex-wrap:wrap;border-radius:14px}.filters a{flex:1 0 40%;text-align:center}.article-row{gap:14px;padding:14px;align-items:start;flex-wrap:wrap}.thumb{width:96px;height:90px;flex:0 0 96px;min-height:90px}.article-row h3{font-size:17px}.article-row p:not(.meta){display:none}.article-row .arrow{display:none}.meta{font-size:10px}.library{padding-top:40px;padding-bottom:56px}.article-lead{padding-top:40px;padding-bottom:40px}.detail-cover{padding:0 0 36px}.detail-cover img{max-height:360px}.article-area{flex-direction:column;padding-top:24px;padding-bottom:48px}.toc{position:static;width:100%;flex:auto}.prose{font-size:16px;width:100%}.prose h2{font-size:26px}.prose blockquote{font-size:20px;padding:20px}.contact{display:flex;flex-direction:column;min-height:0}.contact-copy{width:100%;padding:48px 24px 36px}.contact h2{font-size:25px}.contact-copy>p:not(.eyebrow){font-size:15px;margin:24px 0 30px}.contact-photo{position:relative;width:100%;height:280px;object-fit:cover;order:2}.contact-caption{top:auto;bottom:110px;right:24px;color:var(--ink)}.contact .eyebrow{font-size:20px}.footer-grid{grid-template-columns:1fr 1fr;gap:26px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{gap:20px}.case-hero{padding-top:48px;padding-bottom:0;min-height:0;display:block}.case-hero>div{width:100%}.case-hero>img{position:relative;width:calc(100% + 48px);max-width:none;height:340px;margin:32px -24px 0;object-position:right}.scale{gap:18px;flex-wrap:wrap;padding-top:40px;padding-bottom:40px}.scale>strong{font-size:96px}.scale h2{font-size:24px;min-width:0}.scale p{margin:0}.case-selector{flex-basis:82%}.case-panel{grid-template-columns:1fr;gap:24px;margin-top:40px}.case-panel>img,.case-panel>.missing-image{height:250px}.news-intro{padding-top:48px;padding-bottom:64px}.news-intro .eyebrow{font-size:44px}.news-intro h1{font-size:30px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
