
:root{--navy:#061a3a;--blue:#087af1;--cyan:#41ddf5;--ink:#0a1d36;--muted:#58708a;--pale:#f3f7fc;--line:#d9e6f3}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--pale);font-family:-apple-system,BlinkMacSystemFont,"Noto Sans JP","Segoe UI",sans-serif}a{color:inherit}.site-header{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;height:76px;padding:0 clamp(20px,5vw,72px);background:rgba(3,20,48,.96);color:#fff;backdrop-filter:blur(14px)}.brand{font-size:22px;font-weight:900;text-decoration:none;letter-spacing:.04em}.login{padding:11px 22px;border-radius:999px;background:linear-gradient(100deg,#23cef0,#087af1);color:#031b3f;font-weight:900;text-decoration:none}.hero{padding:90px 24px 70px;background:radial-gradient(circle at 75% 15%,rgba(16,151,255,.42),transparent 34%),linear-gradient(145deg,#03132e,#074b98);color:#fff}.wrap{width:min(1180px,100%);margin:auto}.eyebrow{color:#65ddf5;font-size:13px;font-weight:900;letter-spacing:.2em}.hero h1{margin:15px 0 20px;font-size:clamp(40px,6vw,76px);line-height:1.18;letter-spacing:-.05em}.hero p{max-width:680px;font-size:17px;line-height:1.9;color:rgba(255,255,255,.82)}.count{display:inline-flex;align-items:baseline;gap:10px;margin-top:22px}.count strong{font-size:48px}.controls{display:flex;flex-wrap:wrap;gap:10px;padding:44px 0 26px}.filter{border:1px solid #cbdced;border-radius:999px;background:#fff;padding:12px 20px;color:#193651;font-weight:800;cursor:pointer}.filter.is-active{border-color:var(--blue);background:var(--blue);color:#fff}.status{margin:0 0 22px;color:var(--muted);font-weight:700}.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;padding-bottom:90px}.card{overflow:hidden;border:1px solid var(--line);border-radius:25px;background:#fff;box-shadow:0 16px 44px rgba(8,48,100,.08)}.photo{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;background:#e7f0fa}.photo img{display:block;width:100%;height:100%;object-fit:contain;background:#e7f0fa}.badge{position:absolute;left:16px;bottom:16px;padding:7px 11px;border-radius:999px;background:rgba(5,39,86,.92);color:#fff;font-size:11px;font-weight:900}.badge.job{background:rgba(0,128,112,.94)}.copy{padding:26px}.meta{color:var(--blue);font-size:12px;font-weight:900}.copy h2{margin:13px 0;font-size:25px}.copy p{display:-webkit-box;overflow:hidden;color:var(--muted);font-size:14px;font-weight:600;line-height:1.9;-webkit-line-clamp:4;-webkit-box-orient:vertical}.more{display:inline-block;margin-top:10px;color:var(--blue);font-weight:900;text-decoration:none}.profile{padding:68px 24px 100px}.back{display:inline-block;margin-bottom:30px;color:var(--blue);font-weight:800;text-decoration:none}.profile-card{display:grid;grid-template-columns:minmax(280px,460px) 1fr;gap:54px;align-items:start;padding:clamp(24px,5vw,60px);border:1px solid var(--line);border-radius:30px;background:#fff;box-shadow:0 22px 70px rgba(8,48,100,.1)}.profile-photo{width:100%;max-height:620px;object-fit:contain;border-radius:20px;background:#e7f0fa}.profile-meta{color:var(--blue);font-weight:900}.profile h1{margin:14px 0 25px;font-size:clamp(36px,5vw,62px);letter-spacing:-.04em}.profile-bio{color:#40566f;font-size:17px;font-weight:600;line-height:2;white-space:pre-wrap}.source{display:inline-block;margin-top:25px;color:#71849a;font-size:12px}.placeholder{display:grid;width:100%;height:100%;place-items:center;background:linear-gradient(145deg,#082957,#168ce8);color:#fff;font-size:72px;font-weight:900}@media(max-width:900px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-card{grid-template-columns:1fr}}@media(max-width:620px){.site-header{height:66px}.brand{font-size:17px}.login{padding:9px 16px;font-size:13px}.hero{padding:65px 18px 50px}.grid{grid-template-columns:1fr;gap:18px}.controls{padding-top:30px}.filter{flex:1;padding:11px 8px;font-size:12px}.profile{padding:38px 15px 70px}.profile-card{padding:18px;border-radius:20px}.profile-bio{font-size:15px}}
.grid{padding-bottom:0}.pagination{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:34px 0 90px}.page-button{min-width:44px;height:44px;padding:0 13px;border:1px solid #cbdced;border-radius:12px;background:#fff;color:#193651;font-weight:900;cursor:pointer}.page-button:hover{border-color:var(--blue);color:var(--blue)}.page-button.is-active{border-color:var(--blue);background:var(--blue);color:#fff}.page-button:disabled{cursor:not-allowed;opacity:.4}