
:root{
 --bg:#f7f1e8;--paper:#fffdf9;--brown:#472f20;--brown2:#684936;--text:#4b3a30;
 --muted:#817268;--sage:#78948d;--sage-pale:#eef4f1;--terra:#c57b5d;--terra-pale:#fbf1ec;
 --blue:#4e7f8c;--line:#e5d9ce;--shadow:0 14px 32px rgba(73,49,33,.09);
}
*{box-sizing:border-box}
html{font-size:16px;scroll-behavior:smooth}
body{margin:0!important;background:var(--bg)!important;color:var(--text);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Yu Gothic","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:1.75;overflow-x:hidden}
a{color:inherit}
img{max-width:100%!important;height:auto!important}
.staff-shell{min-height:100vh;background:radial-gradient(circle at 8% 12%,rgba(197,123,93,.08) 0 80px,transparent 81px),radial-gradient(circle at 92% 82%,rgba(120,148,141,.10) 0 160px,transparent 161px),var(--bg)}
.staff-header{background:#fff;border-bottom:1px solid #eee4db}
.staff-header-inner{max-width:1180px;margin:auto;min-height:88px;padding:12px 24px;display:flex;align-items:center;justify-content:space-between;gap:24px}
.staff-logo img{display:block;width:min(520px,55vw);max-height:64px;object-fit:contain;object-position:left center}
.staff-badge{display:inline-flex;align-items:center;gap:9px;padding:10px 15px;border-radius:999px;border:1px solid #d7e4e5;background:#eef6f6;color:#477888;font-size:12px;font-weight:800;letter-spacing:.08em;white-space:nowrap}
.staff-badge-lock{position:relative;width:15px;height:13px;border-radius:3px;background:currentColor}
.staff-badge-lock:before{content:"";position:absolute;left:3px;top:-7px;width:7px;height:8px;border:2px solid currentColor;border-bottom:0;border-radius:7px 7px 0 0;background:transparent}
.staff-public-nav{background:var(--brown)}
.staff-public-nav ul{max-width:1180px;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(8,1fr);list-style:none}
.staff-public-nav a{display:flex;min-height:54px;padding:9px 8px;align-items:center;justify-content:center;text-align:center;color:#fff;text-decoration:none;border-right:1px solid rgba(255,255,255,.10);font-size:13px;font-weight:700;line-height:1.35}
.staff-public-nav a:hover{background:rgba(255,255,255,.09)}
.staff-main{max-width:1080px;margin:0 auto;padding:64px 24px 80px}
.staff-hero{text-align:center;margin-bottom:34px}
.staff-hero-icon{position:relative;width:68px;height:68px;margin:0 auto 18px;border-radius:20px;background:#edf5f6;box-shadow:0 10px 26px rgba(72,110,120,.12)}
.staff-hero-icon:before{content:"";position:absolute;left:23px;top:29px;width:22px;height:22px;border-radius:5px;background:var(--blue)}
.staff-hero-icon:after{content:"";position:absolute;left:27px;top:16px;width:14px;height:17px;border:3px solid var(--blue);border-bottom:0;border-radius:10px 10px 0 0}
.staff-kicker{margin:0 0 8px;color:var(--terra);font-family:Georgia,"Times New Roman",serif;font-size:11px;font-weight:700;letter-spacing:.22em}
.staff-hero h1{margin:0;color:var(--brown);font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(31px,5vw,47px);font-weight:600;letter-spacing:.03em}
.staff-hero p{max-width:720px;margin:14px auto 0;color:var(--muted);font-size:14px}
.staff-gateway-card{display:grid;grid-template-columns:1fr auto;gap:34px;align-items:center;padding:34px 38px;border:1px solid var(--line);border-radius:24px;background:linear-gradient(110deg,#fffdf9,#f4f8f5);box-shadow:var(--shadow);text-decoration:none;transition:.2s ease}
.staff-gateway-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(73,49,33,.13);border-color:#cbdcd7}
.staff-gateway-card h2{margin:0 0 9px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:25px;color:var(--brown)}
.staff-gateway-card p{margin:0;color:var(--muted);font-size:14px}
.staff-gateway-note{display:flex;align-items:center;gap:8px;margin-top:14px;color:#647b75;font-size:12px;font-weight:700}
.staff-enter{display:inline-flex;align-items:center;gap:10px;padding:14px 20px;border-radius:10px;background:var(--blue);color:#fff;font-weight:800;font-size:13px;white-space:nowrap}
.staff-enter:after{content:"→"}
.staff-footer{margin-top:70px;padding:34px 20px 26px;background:var(--brown);color:#fff;text-align:center}
.staff-footer .links{display:flex;justify-content:center;gap:25px;flex-wrap:wrap;margin-bottom:18px}
.staff-footer a{color:#fff;font-size:12px;font-weight:700}
.staff-footer small{opacity:.75;font-size:10px;line-height:1.8}
/* protected portal */
.staff-portal .staff-main{max-width:1040px;padding-top:52px}
.staff-portal-intro{margin-bottom:36px;text-align:center}
.staff-portal-intro h1{margin:7px 0 10px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:clamp(30px,5vw,44px);color:var(--brown)}
.staff-portal-intro p{margin:0;color:var(--muted);font-size:14px}
.staff-section-label{margin:0 0 15px;color:var(--sage);font-family:Georgia,serif;font-size:11px;font-weight:700;letter-spacing:.2em}
.staff-event-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;max-width:760px;margin-left:auto;margin-right:auto}
.staff-event-card{overflow:hidden;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow);text-decoration:none;transition:.2s ease}
.staff-event-card:hover{transform:translateY(-3px);box-shadow:0 18px 35px rgba(73,49,33,.13)}
.staff-event-card .thumb{aspect-ratio:2/1;overflow:hidden;background:#eee}
.staff-event-card .thumb img{width:100%;height:100%!important;object-fit:cover}
.staff-event-body{padding:20px 20px 22px}
.staff-event-type{margin:0 0 6px;color:var(--terra);font-size:10px;font-weight:800;letter-spacing:.14em}
.staff-event-body h2{margin:0 0 8px;font-family:"Yu Mincho","Hiragino Mincho ProN",serif;font-size:20px;color:var(--brown)}
.staff-event-date{margin:0;color:var(--muted);font-size:12px}.staff-event-date+.staff-event-date{margin-top:5px}.staff-event-date strong{color:var(--brown);font-weight:700}
.staff-event-action{display:inline-flex;margin-top:14px;align-items:center;gap:8px;color:var(--blue);font-size:12px;font-weight:800}
.staff-event-action:after{content:"→"}
.staff-close-wrap{text-align:center;margin-top:40px}
.staff-close{appearance:none;border:1px solid #d8ccc2;border-radius:999px;background:#fff;padding:11px 20px;color:var(--brown);font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(73,49,33,.07)}
/* Legacy protected/movie pages: keep content, make fixed-width tables responsive */
body:not(.staff-gateway):not(.staff-portal)>table{width:100%!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;background:#fff}
body:not(.staff-gateway):not(.staff-portal) table{max-width:100%!important}
body:not(.staff-gateway):not(.staff-portal) table[width="95%"],body:not(.staff-gateway):not(.staff-portal) table[width="100%"],body:not(.staff-gateway):not(.staff-portal) table[width="1000"],body:not(.staff-gateway):not(.staff-portal) table[width="900"],body:not(.staff-gateway):not(.staff-portal) table[width="850"],body:not(.staff-gateway):not(.staff-portal) table[width="840"],body:not(.staff-gateway):not(.staff-portal) table[width="800"],body:not(.staff-gateway):not(.staff-portal) table[width="750"]{width:100%!important}
body:not(.staff-gateway):not(.staff-portal) td[width="800"],body:not(.staff-gateway):not(.staff-portal) td[width="840"],body:not(.staff-gateway):not(.staff-portal) td[width="750"]{width:auto!important}
body:not(.staff-gateway):not(.staff-portal) .hyou_09,body:not(.staff-gateway):not(.staff-portal) .hyou_10{width:100%!important}
body:not(.staff-gateway):not(.staff-portal) a img{transition:.18s ease}
body:not(.staff-gateway):not(.staff-portal) a:hover img{opacity:.88}
@media(max-width:820px){
 .staff-header-inner{min-height:72px;padding:9px 14px}.staff-logo img{width:min(430px,68vw);max-height:52px}.staff-badge{padding:8px 11px;font-size:10px}
 .staff-public-nav{display:none}
 .staff-main{padding:42px 14px 60px}.staff-gateway-card{grid-template-columns:1fr;padding:26px 22px;gap:22px}.staff-enter{justify-content:center}
 .staff-event-grid{grid-template-columns:1fr}.staff-event-card{display:grid;grid-template-columns:minmax(120px,38%) 1fr}.staff-event-card .thumb{aspect-ratio:auto;min-height:150px}.staff-event-body{padding:18px}
 body:not(.staff-gateway):not(.staff-portal){font-size:14px!important}
 body:not(.staff-gateway):not(.staff-portal)>table{width:100%!important;margin:0!important}
 body:not(.staff-gateway):not(.staff-portal) img[width="500"]{width:100%!important;max-width:520px!important}
 body:not(.staff-gateway):not(.staff-portal) .font19{font-size:19px!important;line-height:1.5!important}
 body:not(.staff-gateway):not(.staff-portal) .font6,body:not(.staff-gateway):not(.staff-portal) .font7{font-size:13px!important;line-height:1.65!important}
}
@media(max-width:520px){
 .staff-header-inner{align-items:flex-start}.staff-logo img{width:67vw}.staff-badge{font-size:0;padding:10px}.staff-badge-lock{margin:0}
 .staff-event-card{grid-template-columns:1fr}.staff-event-card .thumb{min-height:0;aspect-ratio:2/1}
 .staff-hero h1{font-size:31px}.staff-gateway-card h2{font-size:22px}
 /* legacy tables: allow natural scrolling rather than forcing the page itself wider */
 body:not(.staff-gateway):not(.staff-portal) table{font-size:12px!important}
 body:not(.staff-gateway):not(.staff-portal) td{max-width:100%!important}
}

/* Phase11: staff portal two-row menu */
.staff-event-grid--training{grid-template-columns:minmax(0,380px);justify-content:center;max-width:760px}
.staff-section-label--archive{margin-top:42px}
.staff-event-grid--years{grid-template-columns:repeat(3,minmax(0,1fr));max-width:1040px}
.staff-event-grid--years .staff-event-card .thumb{aspect-ratio:16/9}
@media(max-width:820px){
 .staff-event-grid--training,.staff-event-grid--years{grid-template-columns:1fr;max-width:620px}
 .staff-section-label--archive{margin-top:34px}
}

/* Phase11 v5: yearly movie cards - mobile layout fix */
@media(max-width:820px){
 .staff-event-grid--years .staff-event-card{
  display:block;
 }
 .staff-event-grid--years .staff-event-card .thumb{
  width:100%;
  min-height:0;
  aspect-ratio:16/7;
 }
 .staff-event-grid--years .staff-event-card .thumb img{
  display:block;
  width:100%!important;
  height:100%!important;
  object-fit:cover;
 }
 .staff-event-grid--years .staff-event-body{
  padding:18px 20px 20px;
 }
}
