.recruitment-dialog{box-sizing:border-box;width:min(540px,calc(100vw - 24px));height:min(920px,calc(100vh - 32px));height:min(920px,calc(100dvh - 32px));max-width:none;max-height:none;margin:auto;padding:0;border:1px solid #d9e5ea;border-radius:18px;background:#fff;color:#264453;box-shadow:0 24px 90px #10273555;overflow:hidden;font-family:Paperlogy,system-ui,sans-serif}
.recruitment-dialog[open]{display:flex;flex-direction:column}
.recruitment-dialog::backdrop{background:rgb(13 35 49 / .58)}
.recruitment-dialog *{box-sizing:border-box;font-family:inherit}
.recruitment-dialog .recruitment-header{position:static;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px 8px 18px;background:#fff;border-bottom:1px solid #e5ecef;flex:none;min-height:60px}
.recruitment-dialog #recruitment-title{margin:0;font-size:15px;font-weight:600;line-height:1.6;letter-spacing:0;word-break:keep-all;overflow-wrap:anywhere;color:#264453}
.recruitment-dialog .recruitment-close{display:flex;align-items:center;justify-content:center;flex:none;width:44px;height:44px;margin:0;padding:0;border:0;border-radius:10px;background:#f0f5f7;color:#264453;font:400 28px/1 Paperlogy,system-ui,sans-serif;cursor:pointer}
.recruitment-dialog .recruitment-content{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#f7fbfc;scrollbar-gutter:stable}
.recruitment-dialog .recruitment-poster{display:block;width:100%;height:auto;max-width:100%;max-height:none;margin:0;border:0;border-radius:0;object-fit:contain;transform:none}
.recruitment-dialog .recruitment-footer{position:static;display:block;flex:none;padding:10px 16px 8px;background:#fff;border-top:1px solid #e5ecef}
.recruitment-dialog .recruitment-deadline{margin:0 0 8px;font-size:12px;font-weight:400;line-height:1.6;color:#607785;text-align:center;word-break:keep-all}
.recruitment-dialog .recruitment-contact{display:flex;align-items:center;justify-content:center;min-height:44px;padding:10px 8px;border-radius:10px;background:#294c61;color:#fff;text-decoration:none;font-size:15px;font-weight:600;line-height:1.5;white-space:normal;word-break:keep-all;text-align:center}
.recruitment-dialog .recruitment-dismiss{display:flex;justify-content:space-between;gap:12px;margin-top:2px}
.recruitment-dialog .recruitment-dismiss button{min-height:40px;padding:8px 0;border:0;background:transparent;color:#425e6e;font-size:14px;line-height:1.5;font-weight:500;cursor:pointer}
.recruitment-dialog button:focus-visible,.recruitment-dialog a:focus-visible,.recruitment-dialog .recruitment-content:focus-visible{outline:3px solid #6a9bd6;outline-offset:-3px}
.recruitment-dialog .recruitment-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:600px){.recruitment-dialog{width:calc(100vw - 16px);height:calc(100vh - 24px);height:calc(100dvh - 24px);border-radius:14px}.recruitment-dialog .recruitment-header{padding:6px 8px 6px 12px;gap:6px;min-height:56px}.recruitment-dialog #recruitment-title{font-size:14px}.recruitment-dialog .recruitment-footer{padding:8px 12px calc(6px + env(safe-area-inset-bottom,0px))}.recruitment-dialog .recruitment-deadline{font-size:11px}.recruitment-dialog .recruitment-contact{font-size:14px}.recruitment-dialog .recruitment-dismiss button{font-size:13px;min-height:44px}}
@media(prefers-reduced-motion:reduce){.recruitment-dialog,.recruitment-dialog *{scroll-behavior:auto;animation:none;transition:none}}
