*,*::before,*::after{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:#F6F4EE;color:#3E4A45;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei",sans-serif;line-height:1.8}a{color:#21463B;text-decoration-thickness:1px;text-underline-offset:4px}a:hover{color:#C56B3D}img,video,svg,canvas{display:block;max-width:100%;height:auto}.container{width:min(100% - 64px,1180px);margin-inline:auto;min-width:0}.narrow{width:min(100% - 64px,780px)}.wide{width:min(100% - 64px,980px)}main,section,article,aside,nav,figure,div{min-width:0}.skip-link{position:absolute;left:12px;top:-80px;background:#17352D;color:#fff;padding:10px 14px;z-index:1000}.skip-link:focus{top:10px}.site-header{position:relative;background:#F6F4EE;border-bottom:1px solid #D9DED8;z-index:20}.header-row{height:70px;display:flex;align-items:center;gap:26px}.brand{display:flex;align-items:center;gap:10px;text-decoration:none;flex:0 1 auto}.brand-logo{height:32px;width:auto;max-width:165px;object-fit:contain}.brand-icon{height:32px;width:32px;object-fit:contain;border-radius:9px}.brand-mark{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#21463B;color:#F4F3ED;font-weight:700}.brand-copy{display:flex;flex-direction:column;line-height:1.1;white-space:nowrap}.brand-copy strong{font-size:16px;color:#1F2D28}.brand-copy small{font-size:10px;color:#66716C;letter-spacing:.08em;margin-top:4px}.desktop-nav{display:flex;align-items:center;justify-content:center;gap:20px;flex:1}.desktop-nav a,.header-actions a{font-size:15px;text-decoration:none;color:#3E4A45;white-space:nowrap}.desktop-nav a.active{color:#21463B;font-weight:700}.header-actions{display:flex;align-items:center;gap:10px}.menu-toggle,.menu-close,.button{min-height:44px;border:1px solid #C9D2CC;border-radius:9px;background:#fff;color:#21463B;padding:9px 14px;font:inherit;font-size:15px;cursor:pointer}.menu-toggle:hover,.menu-close:hover,.button:hover{border-color:#21463B}.menu-toggle:focus-visible,.menu-close:focus-visible,.button:focus-visible,a:focus-visible{outline:3px solid rgba(197,107,61,.35);outline-offset:3px}.mega-menu{background:#ECEFE8;border-bottom:1px solid #D9DED8}.mega-inner{padding-block:22px 28px}.mega-topline{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.mega-desktop{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.mega-desktop section{border-left:1px solid #CCD5CF;padding-left:18px}.mega-desktop h2,.mega-mobile h2{font-size:15px;margin:0 0 10px;color:#1F2D28}.mega-desktop a{display:flex;flex-direction:column;text-decoration:none;padding:6px 0}.mega-desktop small{font-size:12px;color:#78817D}.mega-mobile{display:none}.page-head{padding-top:50px;padding-bottom:34px}.breadcrumbs{display:flex;gap:8px;align-items:center;font-size:14px;color:#78817D;margin-bottom:15px}.breadcrumbs a{text-decoration:none}.eyebrow{display:inline-block;color:#C56B3D;font-size:14px;font-weight:700;letter-spacing:.04em;margin-bottom:8px}.page-head h1{font-size:34px;line-height:1.25;color:#1F2D28;margin:0 0 14px}.lead{font-size:17px;line-height:1.8;color:#52605A;margin:0}.section{padding-block:58px}.section + .section{border-top:1px solid #E0E4DF}.section h2{font-size:25px;line-height:1.35;color:#1F2D28;margin:0 0 18px}.section h3{font-size:19px;line-height:1.45;color:#253832;margin:28px 0 10px}.section p{margin:0 0 18px}.prose{width:min(100%,760px);margin-inline:auto}.prose.wide-prose{width:min(100%,920px)}.prose ul,.prose ol{padding-left:1.3em}.link-row{display:flex;gap:16px;flex-wrap:wrap;margin-top:20px}.text-link{font-weight:700}.media{margin:28px 0;padding:10px;background:#ECEFE8;border:1px solid #D9DED8;border-radius:12px}.media img{margin:auto;object-fit:contain}.content-image{max-width:420px}.hero-image{max-width:430px}.mobile-image{max-width:240px}.feature-image{max-width:520px}.callout{background:#ECEFE8;border-left:4px solid #C6A15B;padding:20px 22px;border-radius:0 12px 12px 0;margin:24px 0}.note-box{background:#fff;border:1px solid #D9DED8;border-radius:12px;padding:20px 22px}.split{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,.75fr);gap:40px;align-items:start}.split.equal{grid-template-columns:repeat(2,minmax(0,1fr))}.side-index{border-left:1px solid #D9DED8;padding-left:20px;position:sticky;top:20px}.side-index a{display:block;padding:6px 0}.purpose-list{display:grid;grid-template-columns:190px minmax(0,1fr);gap:0;border-top:1px solid #D9DED8}.purpose-list dt,.purpose-list dd{padding:16px 0;border-bottom:1px solid #D9DED8;margin:0}.purpose-list dt{font-weight:700;color:#21463B}.timeline{position:relative}.timeline-item{display:grid;grid-template-columns:70px minmax(0,1fr);gap:22px;padding:24px 0;border-top:1px solid #D9DED8}.timeline-item .num{color:#C56B3D;font-weight:700}.story-rail{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px}.story-rail .rail{border-right:1px solid #C9D2CC}.story-rail .rail span{position:sticky;top:18px;display:inline-grid;width:42px;height:42px;place-items:center;border-radius:50%;background:#21463B;color:#fff}.topic-main{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr);gap:32px;align-items:start}.topic-short-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.topic-short{padding:18px;border-top:3px solid #C6A15B;background:#fff}.archive-group{display:grid;grid-template-columns:180px minmax(0,1fr);gap:28px;padding:24px 0;border-top:1px solid #D9DED8}.archive-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 20px}.article-letter{max-width:740px}.article-letter + .article-letter{margin-top:56px;padding-top:48px;border-top:1px solid #D9DED8}.faq-item{padding:0 0 24px;margin-bottom:24px;border-bottom:1px solid #D9DED8}.faq-item h2{font-size:20px;margin-bottom:8px}.service-links{display:flex;flex-wrap:wrap;gap:10px 18px}.site-footer{background:#183129;color:#F4F3ED;padding:50px 0 86px}.footer-grid{display:grid;grid-template-columns:1.5fr repeat(4,minmax(0,1fr));gap:30px}.site-footer h2{font-size:15px;color:#F4F3ED;margin:0 0 10px}.site-footer a{display:block;color:#F4F3ED;text-decoration:none;font-size:14px;padding:3px 0}.footer-brand strong{display:block;font-size:18px}.footer-brand span{font-size:11px;letter-spacing:.08em;color:#D9D7CB}.footer-brand p{font-size:14px;color:#D7DDD8;max-width:280px}.footer-bottom{display:flex;justify-content:space-between;gap:20px;padding-top:26px;margin-top:30px;border-top:1px solid rgba(255,255,255,.14);font-size:13px}.footer-bottom a{display:inline}.bottom-nav{display:none}.home-intro{padding:46px 0 60px}.home-intro-grid{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:44px;align-items:center}.home-intro h1{font-size:34px;line-height:1.25;color:#1F2D28;margin:0 0 18px}.home-intro p{font-size:17px;max-width:650px}.button-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:22px}.button.primary{background:#21463B;color:#fff;border-color:#21463B;text-decoration:none}.read-lines{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,.65fr);gap:26px}.read-main{background:#ECEFE8;padding:24px;border-radius:16px}.read-secondary{display:grid;gap:18px}.read-secondary article{padding:20px;border:1px solid #D9DED8;background:#fff;border-radius:12px}.home-purpose{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:44px}.people-space{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:36px;align-items:start}.main-visual{max-width:500px}.small-visual{max-width:320px}.longread-image{max-width:480px}.lab{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:40px;align-items:start}.workbench{max-width:760px}.topic-home{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr);gap:28px}.topic-stack{display:grid;gap:12px}.editor-letter-home{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,320px);gap:36px;align-items:start}.continue-grid{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:38px;align-items:center}.micro-links{margin-top:28px;padding-top:18px;border-top:1px solid #D9DED8;display:flex;flex-wrap:wrap;gap:10px 18px}.nowrap-safe,.section p,.section li,.page-head,.footer-grid{overflow-wrap:anywhere}
@media(max-width:1024px){.desktop-nav{gap:12px}.desktop-nav a{font-size:14px}.footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-brand{grid-column:1/-1}.container{width:min(100% - 44px,1180px)}.narrow{width:min(100% - 44px,780px)}.wide{width:min(100% - 44px,980px)}}
@media(max-width:767px){.container,.narrow,.wide{width:min(100% - 32px,1180px)}.header-row{height:60px;gap:10px}.brand-logo{height:27px;max-width:120px}.brand-icon{height:27px;width:27px}.brand-copy small{display:none}.brand-copy strong{font-size:15px}.desktop-nav{display:none}.header-actions{margin-left:auto}.menu-toggle{padding:8px 10px;min-width:56px}.menu-toggle{font-size:0}.menu-toggle::after{content:'目录';font-size:15px}.mobile-link{font-size:15px!important}.mega-inner{padding-block:16px 20px}.mega-desktop{display:none}.mega-mobile{display:grid;gap:18px}.mega-mobile section{border-top:1px solid #D2D9D4;padding-top:12px}.mega-mobile section div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}.mega-mobile a{padding:7px 0;text-decoration:none}.page-head{padding-top:34px;padding-bottom:26px}.page-head h1,.home-intro h1{font-size:28px;line-height:1.35}.lead,.home-intro p{font-size:16px;line-height:1.8}.section{padding-block:40px}.section h2{font-size:22px;line-height:1.42}.section h3{font-size:18px;line-height:1.5}.section p,.section li,.faq-item p{font-size:16px;line-height:1.8}.split,.split.equal,.home-intro-grid,.read-lines,.home-purpose,.people-space,.lab,.topic-home,.editor-letter-home,.continue-grid,.topic-main{grid-template-columns:minmax(0,1fr);gap:24px}.topic-short-grid{grid-template-columns:minmax(0,1fr)}.story-rail{grid-template-columns:minmax(0,1fr);gap:10px}.story-rail .rail{border-right:0;border-bottom:1px solid #D9DED8;padding-bottom:10px}.story-rail .rail span{position:static;width:auto;height:auto;border-radius:999px;padding:5px 10px;display:inline-block}.timeline-item{grid-template-columns:minmax(0,1fr);gap:6px}.purpose-list{grid-template-columns:minmax(0,1fr)}.purpose-list dt{border-bottom:0;padding-bottom:2px}.purpose-list dd{padding-top:0}.archive-group{grid-template-columns:minmax(0,1fr);gap:10px}.archive-links{grid-template-columns:minmax(0,1fr)}.side-index{position:static;border-left:0;border-top:1px solid #D9DED8;padding:16px 0 0}.content-image,.hero-image,.feature-image,.longread-image,.main-visual,.small-visual{max-width:100%}.content-image img,.feature-image img,.longread-image img,.main-visual img,.small-visual img{max-height:200px;width:auto}.hero-image img{max-height:220px;width:auto}.mobile-image{max-width:190px;margin-inline:auto}.mobile-image img{max-height:290px}.read-main,.read-secondary article,.topic-short{width:100%;grid-column:auto;grid-row:auto;grid-area:auto}.home-intro-grid>* ,.read-lines>* ,.home-purpose>* ,.people-space>* ,.lab>* ,.topic-home>* ,.editor-letter-home>* ,.continue-grid>* ,.topic-main>* ,.topic-short-grid>* ,.split>* ,.archive-group>* ,.timeline-item>* ,.story-rail>*{grid-column:auto!important;grid-row:auto!important;grid-area:auto!important;min-width:0!important;width:auto!important;max-width:100%}.site-footer{padding-bottom:96px}.footer-grid{grid-template-columns:minmax(0,1fr);gap:22px}.footer-brand{grid-column:auto}.footer-bottom{flex-direction:column}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);display:grid;grid-template-columns:repeat(4,minmax(0,1fr));background:#183129;border-top:1px solid rgba(255,255,255,.16);z-index:50}.bottom-nav a{display:grid;place-items:center;color:#F4F3ED;text-decoration:none;font-size:15px;min-width:0}.button-row{gap:8px}.button{padding-inline:12px}.micro-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}}
@media(max-width:360px){.container,.narrow,.wide{width:min(100% - 28px,1180px)}.mega-mobile section div,.micro-links{grid-template-columns:minmax(0,1fr)}.brand-copy strong{font-size:14px}.header-actions{gap:6px}.menu-toggle{padding-inline:8px}.home-intro h1,.page-head h1{font-size:27px}}
