/* Shared, lightweight training-center gallery. No carousel or autoplay. */
.training-centers{box-sizing:border-box;margin:42px auto;max-width:1190px;padding:0 24px;color:#10354b;text-align:left}
.training-centers .training-eyebrow{font-size:11px;font-weight:700;letter-spacing:1.8px;color:#087eae;margin:0 0 10px}
.training-centers h2{font-size:28px;line-height:1.25;margin:0 0 12px;letter-spacing:-.4px}
.training-centers>p:not(.training-eyebrow){font-size:14px;line-height:1.7;color:#526d7a;margin:0 0 22px}
.training-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.training-card{min-width:0;margin:0;background:#fff;border:1px solid #d7e6ed;border-radius:14px;overflow:hidden}
.training-card a{display:block;background:#edf7fb}
.training-card a:focus-visible{outline:3px solid #087eae;outline-offset:-3px}
.training-card img{display:block;width:100%;height:220px;object-fit:contain;aspect-ratio:4/3}
.training-card:first-child img{object-fit:cover;object-position:54% 50%}
.training-card figcaption{padding:15px 18px}
.training-card strong{display:block;font-size:17px;color:#10354b}
.training-card span{display:block;font-size:12px;color:#526d7a;line-height:1.6;margin-top:4px}
.web-guest .training-centers{padding:0;margin:36px 0 0}
.web-tc1{margin:-36px -36px 24px;border-radius:24px 24px 0 0;overflow:hidden;background:#087eae}
.web-tc1 img{display:block;width:100%;height:245px;object-fit:cover;object-position:54% 48%}
.web-tc1 figcaption{padding:10px 18px;background:#087eae;color:white;font-size:13px;font-weight:700}
.web-intro .training-link{display:inline-block;margin-top:16px;font-size:14px;color:#135570;text-underline-offset:4px}
@media(max-width:760px){.web-tc1{margin:-24px -24px 20px;border-radius:24px 24px 0 0}.web-tc1 img{height:190px}.training-grid{grid-template-columns:1fr}.training-centers{margin:30px auto;padding:0 20px}.training-centers h2{font-size:24px}.training-card img{height:auto;aspect-ratio:auto}.training-card:first-child img{height:250px;object-fit:cover}.web-guest .training-centers{margin-top:28px}}

/* Anime career gallery: one local canvas, no external requests or animation library. */
.tc-careers{position:relative;isolation:isolate;overflow:hidden;box-sizing:border-box;margin-top:32px;padding:38px 30px 24px;border:1px solid #214d59;border-radius:22px;background:radial-gradient(ellipse at 10% 5%,#124636 0,transparent 48%),radial-gradient(ellipse at 95% 80%,#0d3450 0,transparent 55%),#081c2b;color:#f3fbff;box-shadow:0 18px 48px #10354b12}
.tc-meteors{position:absolute;inset:0;width:100%;height:100%;z-index:-1;pointer-events:none}
.tc-career-content{position:relative}.tc-career-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.tc-career-eyebrow{font-size:10px;letter-spacing:1.7px;font-weight:750;color:#9ff3c4;margin:0 0 12px}.tc-careers h3{font-size:clamp(25px,3vw,36px);line-height:1.2;margin:0 0 12px;color:#fff;letter-spacing:-.7px}.tc-career-head p:not(.tc-career-eyebrow){font-size:14px;line-height:1.7;margin:0;color:#c3d7de;max-width:460px}.tc-motion{font:600 11px/1.4 system-ui,sans-serif;color:#b6f8d0;background:#0a2c26;border:1px solid #438465;border-radius:100px;white-space:nowrap;min-height:42px;padding:10px 15px;cursor:pointer;flex-shrink:0}.tc-motion:hover{background:#174c39}.tc-career-hint{margin:26px 0 14px;font-size:12px;color:#b7cbd7}.tc-career-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;align-items:start}.tc-job{min-width:0;border:1px solid #8ecfc333;border-radius:15px;background:#143341d9;overflow:hidden;transition:border-color .2s,background .2s}.tc-job:hover,.tc-job[open]{border-color:#75e9ac;background:#174353f0}.tc-job summary{display:block;cursor:pointer;list-style:none;text-align:center;padding:12px 9px 14px;min-width:0;position:relative}.tc-job summary::-webkit-details-marker{display:none}.tc-portrait{display:block;aspect-ratio:1;margin:0 0 9px;overflow:hidden;border-radius:11px;background:radial-gradient(ellipse at 50% 70%,#3c796533,transparent 70%)}.tc-portrait img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;filter:drop-shadow(0 3px 6px #0005);transition:transform .2s}.tc-job:hover .tc-portrait img{transform:translateY(-3px)}.tc-person{display:block;font-size:10px;line-height:1.5;color:#abe8c7;letter-spacing:.2px;margin-bottom:5px}.tc-job strong{display:block;font-size:15px;line-height:1.3;color:#fff;margin-bottom:5px;overflow-wrap:anywhere}.tc-specialty{display:block;font-size:10px;line-height:1.5;color:#c5d9e2;min-height:30px}.tc-job-expand{display:flex;align-items:center;justify-content:center;gap:9px;font-size:10px;line-height:1.4;color:#b9e7d5;margin-top:12px}.tc-job-expand>span{font-size:18px;line-height:1}.tc-job[open] .tc-job-expand>span{transform:rotate(45deg)}.tc-job-description{border-top:1px solid #91dabb30;margin:0;padding:14px 12px;font-size:12px;line-height:1.7;color:#e0edf1;background:#0a2535}.tc-career-foot{display:flex;justify-content:space-between;align-items:center;gap:20px;border-top:1px solid #96d4bf30;margin-top:27px;padding-top:24px}.tc-career-foot p{font-size:15px;font-weight:600;line-height:1.6;margin:0;color:#e0f5ec}.tc-career-foot small{display:block;max-width:460px;margin-top:5px;font-size:11px;line-height:1.7;font-weight:400;color:#b0c9d2}.tc-jobs-link{display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:44px;padding:10px 18px;border-radius:10px;background:#acf2c8;color:#10342a!important;text-decoration:none;font-size:12px;font-weight:750;white-space:nowrap}.tc-jobs-link:hover{background:#d0ffdf}.tc-career-credit{display:block;text-align:right;font-size:9px;color:#9db8c3;letter-spacing:.8px;margin-top:22px}.tc-careers :focus-visible{outline:3px solid #c6ff9b;outline-offset:3px}.tc-job summary:focus-visible{outline-offset:-4px;border-radius:14px}
@media(max-width:1000px){.tc-career-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tc-careers{padding:30px 24px}.tc-career-grid .tc-job:last-child{grid-column:auto}.tc-job strong{font-size:16px}}
@media(max-width:600px){.tc-careers{padding:25px 14px 18px;margin-top:24px;border-radius:17px}.tc-career-head{display:block}.tc-motion{margin-top:18px;font-size:11px}.tc-career-eyebrow{font-size:9px;letter-spacing:1px}.tc-career-head p:not(.tc-career-eyebrow){font-size:13px}.tc-career-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.tc-job summary{padding:8px 7px 12px}.tc-job strong{font-size:14px}.tc-career-foot{display:block;padding-top:20px}.tc-jobs-link{margin-top:16px}.tc-career-credit{text-align:left;line-height:1.7}.tc-career-hint{font-size:11px}}
@media(prefers-reduced-motion:reduce){.tc-job,.tc-portrait img{transition:none}.tc-job:hover .tc-portrait img{transform:none}}
@media print{.tc-meteors,.tc-motion{display:none!important}.tc-careers{background:#f1f7f8;color:#123}.tc-job,.tc-job-description{background:white}.tc-job strong,.tc-job-description,.tc-careers h3{color:#123}}

/* Name badge stays on the portrait, with live katakana text for legibility. */
.tc-portrait{position:relative}.tc-portrait .tc-person{position:absolute;left:50%;bottom:7%;transform:translateX(-50%);z-index:1;box-sizing:border-box;max-width:96%;margin:0;padding:4px 7px;border:1px solid #b99043;border-radius:5px;background:#fff8e8;color:#253b39;font-family:"Noto Sans JP","Yu Gothic",Meiryo,system-ui,sans-serif;font-size:clamp(9px,1vw,12px);font-weight:750;line-height:1.5;letter-spacing:0;white-space:nowrap;box-shadow:0 2px 5px #0004;pointer-events:none}
