:root{--red:#cc1622;--ink:#1c1f24;--line:#e6e7ea;--soft:#f7f7f8;--max:1180px}*{box-sizing:border-box}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Yu Gothic",Meiryo,sans-serif;color:var(--ink);line-height:1.9}a{text-decoration:none;color:inherit}img{width:100%;display:block}.wrap{width:min(calc(100% - 64px),var(--max));margin:auto}

.site-header{height:76px;background:rgba(255,255,255,.97);border-bottom:1px solid #ececef;display:flex;align-items:stretch;position:sticky;top:0;z-index:1000;backdrop-filter:blur(9px)}
.site-brand{display:flex!important;align-items:center;gap:13px;padding:0 34px;color:#17191e!important;text-decoration:none!important;min-width:250px}
.site-brand:before{content:"";width:38px;height:28px;display:block;background:linear-gradient(135deg,#de1927,#b70f1d);clip-path:polygon(0 12%,35% 12%,76% 50%,35% 88%,0 88%,28% 50%);flex:none}
.site-brand-main{font-weight:900;letter-spacing:.08em;font-size:15px}.site-brand-sub{font-weight:700;letter-spacing:.14em;font-size:10px;color:#737985;border-left:1px solid #d9dce1;padding-left:13px}
.site-actions{margin-left:auto;display:flex}.site-entry{width:180px;display:grid;place-items:center;background:linear-gradient(180deg,#d11a27,#b50e1c);color:#fff!important;text-decoration:none!important;font-weight:800;letter-spacing:.2em;font-size:14px}
.site-menu-btn{width:76px;border:0;background:#0d1730;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:6px;cursor:pointer}.site-menu-btn span{display:block;width:27px;height:1px;background:#fff;transition:.25s}.site-menu-btn.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.site-menu-btn.is-open span:nth-child(2){opacity:0}.site-menu-btn.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
.site-drawer{position:fixed;inset:76px 0 0;background:rgba(13,23,48,.96);z-index:999;opacity:0;visibility:hidden;transition:.25s;color:#fff;overflow:auto}.site-drawer.is-open{opacity:1;visibility:visible}.site-drawer-inner{width:min(1120px,calc(100% - 56px));margin:0 auto;padding:60px 0}.site-drawer-nav{display:grid;grid-template-columns:repeat(2,1fr);gap:0;border-top:1px solid rgba(255,255,255,.22)}.site-drawer-nav a{display:grid;grid-template-columns:44px 1fr;grid-template-rows:auto auto;padding:22px 18px;color:#fff!important;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.18);position:relative}.site-drawer-nav a:nth-child(odd){border-right:1px solid rgba(255,255,255,.18)}.site-drawer-nav b{grid-row:1/3;color:#e52b37;font-size:11px;letter-spacing:.12em;padding-top:5px}.site-drawer-nav span{font-size:21px;font-weight:900;letter-spacing:.12em}.site-drawer-nav small{font-size:11px;color:#bfc5d0;margin-top:2px}.site-drawer-sub{display:flex;gap:28px;flex-wrap:wrap;margin-top:32px;font-size:12px}.site-drawer-sub a{color:#fff!important;text-decoration:none!important;border-bottom:1px solid rgba(255,255,255,.45);padding-bottom:3px}
body.menu-open{overflow:hidden}
@media(max-width:640px){.site-header{height:66px}.site-drawer{inset:66px 0 0}.site-brand{padding:0 14px;min-width:0}.site-brand-sub{display:none}.site-entry{width:118px;font-size:12px}.site-menu-btn{width:64px}.site-drawer-inner{width:calc(100% - 32px);padding:34px 0}.site-drawer-nav{grid-template-columns:1fr}.site-drawer-nav a:nth-child(odd){border-right:0}.site-drawer-nav span{font-size:18px}}

.hero{padding:76px 0 58px;background:linear-gradient(125deg,#fbfbfb,#eef0f2);position:relative;overflow:hidden}.hero:before,.hero:after{content:"";position:absolute;background:var(--red);transform:skewX(-22deg)}.hero:before{left:8%;top:31%;width:10px;height:92px;right:auto;bottom:auto}.hero:after{right:7%;bottom:17%;width:10px;height:70px;left:auto;top:auto}.k{color:var(--red);font-weight:900;font-size:12px;letter-spacing:.15em}.hero h1{font-size:48px;line-height:1.35;margin:8px 0 18px;max-width:850px}.profile{display:grid;grid-template-columns:320px 1fr;gap:48px;align-items:center}.profile-img{border-radius:6px;aspect-ratio:4/3;object-fit:cover;object-position:center}.name{font-size:28px;font-weight:900}.roman{font-size:12px;letter-spacing:.14em;color:#89909a;margin-top:2px}.meta{color:#686f78;margin-top:8px}.tags{display:flex;flex-wrap:wrap;gap:7px;margin:12px 0}.tag{background:#e9eaed;border-radius:14px;padding:4px 9px;font-size:10px;color:#525964}
.story{padding:70px 0}.block{display:grid;grid-template-columns:1fr 1fr;gap:44px;align-items:center;padding:44px 0;border-top:1px solid var(--line)}.block:nth-child(even) .img{order:2}.block .img img{height:380px;object-fit:cover}.block h2{font-size:28px;margin:0 0 14px}.block p{margin:0;color:#505761}.career{background:var(--soft);padding:58px 0}.career h2{font-size:30px;margin:8px 0 24px}.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px}.step{background:#fff;border-top:4px solid var(--red);padding:18px;font-size:13px;min-height:94px}.back{display:inline-block;margin-top:30px;color:var(--red);font-weight:800}.source-note{font-size:10px;color:#9298a2;margin-top:20px}
[data-replace="image"]{position:relative}[data-replace="text"]{}
@media(max-width:800px){.profile,.block{grid-template-columns:1fr}.block:nth-child(even) .img{order:0}.steps{grid-template-columns:1fr}.hero h1{font-size:36px}.wrap{width:calc(100% - 36px)}.profile{gap:26px}}
@media (max-width:640px){.hero{padding:74px 0 68px}.hero:before{left:24px;top:18px;width:8px;height:46px;right:auto;bottom:auto}.hero:after{right:18px;bottom:24px;width:10px;height:70px;left:auto;top:auto}}

/* v8: mobile hero accent adjustment */
 (max-width:700px){
  .hero{padding:64px 0 42px}
  .hero:before{left:auto;right:18px;top:24px;width:10px;height:88px}
  .hero h1{max-width:calc(100% - 78px)}
}

/* v11: lower-page hero accent aligned to WORK page */
.hero{position:relative;overflow:hidden}
.hero:before,.hero:after{content:"";position:absolute;background:var(--red);transform:skewX(-22deg)}
.hero:before{left:8%;top:31%;width:10px;height:92px;right:auto;bottom:auto}
.hero:after{right:7%;bottom:17%;width:10px;height:70px;left:auto;top:auto}
.hero .wrap{position:relative;z-index:1}
@media (max-width:640px){
  .hero{padding:74px 0 68px}
  .hero:before{left:24px;top:18px;width:8px;height:46px;right:auto;bottom:auto}
  .hero:after{right:18px;bottom:24px;width:10px;height:70px;left:auto;top:auto}
}
