:root{--primary:#0056cf;--primary-hover:#0048ad;--text:#222;--muted:#777;--border:#e2e2e2;--surface:#f6f6f6;--background:#fff}*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--text);font-family:Arial,Noto Sans JP,Hiragino Kaku Gothic ProN,Meiryo,sans-serif;font-size:16px;line-height:1.6}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}a,button,input,summary,textarea{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:wait;opacity:.6}a:focus-visible,button:focus-visible,input:focus-visible,summary:focus-visible,textarea:focus-visible{outline:3px solid var(--primary);outline-offset:3px}h1,h2,h3,p{margin:0}h1{font-size:22px}h1,h2{line-height:1.5}h2{font-size:24px}h3{font-size:18px}img{max-width:100%;display:block}fieldset{border:0;padding:0;margin:0;min-width:0}legend{font-weight:700}input:not([type=checkbox]):not([type=file]),textarea{border:1px solid var(--border);background:white;border-radius:2px;padding:6px 8px;max-width:100%;color:var(--text)}input[type=checkbox]{width:20px;height:20px;accent-color:var(--primary);margin:0;flex-shrink:0}textarea{resize:vertical}.button{display:inline-flex;align-items:center;justify-content:center;background:var(--primary);color:#fff;border:1px solid var(--primary);border-radius:3px;min-height:50px;padding:10px 24px;font-size:16px;font-weight:700;text-align:center}.button:hover{background:var(--primary-hover);text-decoration:none}.text-button{border:0;background:none;color:var(--primary);padding:6px;text-decoration:underline}.skip-link{position:absolute;top:-80px;left:12px;padding:8px;background:#fff}.skip-link:focus{top:0;z-index:10}.breadcrumb{background:#f0f0f0;font-size:12px;min-height:39px;padding:9px 20px}.breadcrumb>div{max-width:1128px;margin:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}.breadcrumb a{color:#555;text-decoration:underline}.wide-container{max-width:1128px;margin:auto}.detail-container{max-width:1000px;margin:auto}.apply-container{max-width:1110px;margin:auto}.page-header{display:flex;gap:22px;align-items:center;min-height:140px;padding:20px 0}.page-header img{width:98px;height:98px;object-fit:cover}.page-header>a{flex-shrink:0}.page-header .tags{margin:8px 0}.company-hero{width:100%;height:400px;object-fit:contain;background:#b4b4b4}.listing-layout{display:grid;grid-template-columns:264px minmax(0,1fr);grid-gap:40px;gap:40px;margin-top:60px;margin-bottom:80px}.search-panel{font-size:14px}.search-panel details{border:1px solid var(--border)}.search-panel summary{list-style:none;font-weight:700;background:var(--surface);padding:8px 16px;border-bottom:1px solid var(--border)}.search-panel form{padding:14px 16px;display:flex;flex-direction:column;gap:16px}.search-panel fieldset{display:flex;flex-direction:column;gap:10px}.search-panel legend{padding-bottom:8px}.search-panel label{display:flex;gap:10px;align-items:flex-start}.search-panel .keyword-label{font-weight:700;margin-bottom:-12px}.search-panel .button{font-size:14px;min-height:40px}.company-intro p{margin-bottom:24px;line-height:1.7}.company-table{border:1px solid var(--border);margin-top:56px;font-size:14px}.company-table h2{font-size:14px;padding:14px 12px;background:var(--surface);border-bottom:1px solid var(--border)}dl{margin:0}.company-table dl>div{display:grid;grid-template-columns:180px 1fr;border-bottom:1px solid var(--border)}.company-table dl>div:last-child{border:0}dd,dt{margin:0}.company-table dt{background:var(--surface);padding:10px;border-right:1px solid var(--border)}.company-table dd{padding:10px}.company-cta{text-align:center;margin:40px 0}.list-heading{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border);padding-bottom:16px}.list-heading span{font-size:14px}.job-row{padding:26px 0;border-bottom:1px solid var(--border)}.job-row h3{font-size:21px;margin-bottom:12px}.excerpt{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;margin-bottom:14px;font-size:14px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tags span{font-size:13px;line-height:1.5;border:1px solid #91abc8;color:#375d86;border-radius:2px;padding:3px 8px}.job-location{margin-top:12px;font-size:13px;color:#666;white-space:pre-line}.empty-state{padding:60px 20px;text-align:center}.empty-state p{margin-top:12px;color:var(--muted)}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;grid-gap:30px;gap:30px;margin:40px 0 70px}.job-body section{margin-bottom:40px}.job-body h2{border-bottom:1px solid var(--border);padding-bottom:12px;margin-bottom:20px}.prose{overflow-wrap:anywhere}.prose p{margin-bottom:18px}.prose ol,.prose ul{padding-left:24px}.prose table{border-collapse:collapse;width:100%;display:block;overflow:auto}.prose td,.prose th{border:1px solid var(--border);padding:8px}.prose pre{overflow:auto;background:var(--surface);padding:12px}.prose blockquote{margin-left:0;border-left:3px solid var(--border);padding-left:16px}.prose h3,.prose h4{margin:24px 0 12px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.conditions>div{display:grid;grid-template-columns:120px 1fr;border:1px solid var(--border);border-bottom:0;font-size:14px}.conditions>div:last-child{border-bottom:1px solid var(--border)}.conditions dt{background:var(--surface);padding:15px}.conditions dd{padding:15px}.job-sidebar>.button{width:100%}.job-sidebar section{border:1px solid var(--border);padding:20px;margin-top:25px;font-size:14px}.job-sidebar h2{font-size:16px;padding-bottom:10px;margin-bottom:15px}.job-sidebar h2,.related-job{border-bottom:1px solid var(--border)}.related-job{display:block;padding:14px 0;margin-bottom:10px}.related-job span{display:block;color:var(--muted);font-size:12px;margin-top:8px}.bottom-apply{display:flex;flex-direction:column;gap:18px;align-items:center;margin:40px 0}.bottom-apply .button{min-width:240px}.site-footer{border-top:1px solid var(--border);text-align:center;padding:28px 20px;color:var(--muted);font-size:12px;margin-top:50px}.site-footer>a{display:inline-block;margin:5px 12px;color:#666}.site-footer p{margin-top:20px}.application-panel{background:var(--surface);margin-top:28px;margin-bottom:70px;padding-bottom:32px}.application-panel>h2{padding:12px 28px;background:#efefef;font-size:18px;border-bottom:1px solid var(--border)}.steps{display:flex;justify-content:center;gap:40px;padding:0;list-style:none;margin:24px 0;color:#666;font-size:13px}.steps [aria-current]{color:var(--primary);font-weight:700}.form-intro{text-align:center;color:var(--muted);font-size:14px;margin:28px 20px}.application-panel form>fieldset{margin:0 20px;border-top:1px solid var(--border);padding-top:20px}.application-panel legend{float:left;width:100%;padding:0 0 24px;font-size:18px;color:#666}.fields{clear:both;display:flex;flex-direction:column;gap:10px}.form-field{display:grid;grid-template-columns:300px minmax(0,1fr);grid-gap:20px;gap:20px;font-size:14px}.form-field>label{text-align:right;padding-top:6px;line-height:23px;color:#666;overflow-wrap:anywhere}.required{display:inline-block;font-size:10px;border:1px solid #666;border-radius:2px;padding:0 3px;line-height:20px;margin-left:8px;vertical-align:middle}.field-control input:not([type=file]),.field-control textarea{width:360px;font-size:14px;min-height:35px}.field-control textarea{width:calc(100% - 25px);max-width:560px}.field-control input[type=file]{max-width:100%;font-size:13px;padding:6px 0}.field-help{font-size:13px;color:#666;line-height:1.7;margin-top:6px;max-width:660px}.file-selection{font-size:13px;overflow-wrap:anywhere;color:#444}.form-actions{display:flex;flex-direction:column;align-items:center;gap:20px;text-align:center;margin:44px 20px 20px;padding-top:30px;border-top:1px solid var(--border);font-size:14px}.form-actions .button{min-width:240px}.form-error{border:1px solid #d19292;background:#fff5f5;color:#922828;padding:16px;margin:20px;white-space:pre-wrap}.confirmation{max-width:800px;margin:30px auto;padding:0 20px}.confirmation>div{display:grid;grid-template-columns:220px 1fr;padding:16px 0;border-bottom:1px solid var(--border);grid-gap:24px;gap:24px}.confirmation dt{font-size:14px;color:#666}.confirmation dd{white-space:pre-wrap;overflow-wrap:anywhere}.completed{text-align:center;padding-bottom:50px}.completed>h2{text-align:left}.completion-mark{margin:40px auto 24px;border-radius:50%;background:#eaf2ff;color:var(--primary);font-size:32px;width:64px;height:64px;line-height:64px}.completed p{margin:20px 24px 30px}.message-page{max-width:700px;margin:100px auto;text-align:center;padding:20px;display:flex;flex-direction:column;gap:24px;align-items:center}.privacy-page{padding:40px 0}.privacy-page p{margin:24px 0}@media (max-width:1190px){.apply-container,.wide-container{margin:0 24px}.detail-container{margin-left:auto;margin-right:auto;padding:0 24px}.form-field{grid-template-columns:240px minmax(0,1fr)}}@media (max-width:720px){body{font-size:15px}.apply-container,.detail-container,.wide-container{width:auto;margin:0;padding:0 16px}.breadcrumb{font-size:11px;padding:8px 16px}.breadcrumb>div{gap:5px}.page-header{min-height:112px;gap:14px;padding:18px 0}.page-header img{width:64px;height:64px}.page-header h1{font-size:18px}.page-header>div>a{font-size:13px}.company-hero{height:210px}.listing-layout{grid-template-columns:1fr;gap:28px;margin-top:28px;margin-bottom:40px}.search-panel form{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.search-panel .keyword-label,.search-panel input#keyword{grid-column:1/-1}.search-panel summary{cursor:pointer}.search-panel fieldset{gap:8px}.company-table{margin-top:30px}.company-table dl>div{grid-template-columns:100px 1fr}.company-table dd,.company-table dt{padding:9px}.list-heading h2{font-size:21px}.job-row h3{font-size:18px}.detail-layout{grid-template-columns:1fr;margin-top:28px}.job-body h2{font-size:22px}.conditions>div{grid-template-columns:90px 1fr}.conditions dd,.conditions dt{padding:12px}.job-sidebar>.apply-button{position:fixed;bottom:12px;left:16px;right:16px;width:calc(100% - 32px);box-shadow:0 2px 10px #0002;z-index:2}.job-sidebar section{margin-top:0}.site-footer{padding-bottom:85px}.application-panel{margin-top:12px;margin-left:-8px;margin-right:-8px}.application-panel>h2{font-size:16px;padding:16px}.application-panel form>fieldset{margin:0 16px}.steps{gap:25px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field>label{text-align:left;font-weight:700}.fields{gap:22px}.field-control input:not([type=file]),.field-control textarea{width:100%;max-width:none;min-height:42px;font-size:16px}.field-control textarea{min-height:120px}.form-intro{font-size:13px}.confirmation>div{grid-template-columns:1fr;gap:6px}.form-actions{margin-left:16px;margin-right:16px}.form-actions .button{width:100%;font-size:15px}.privacy-page{padding:24px 0}.completed>h2{text-align:center}.message-page{margin:50px auto}.message-page h1{font-size:22px}}.job-row.has-cover{display:grid;grid-template-columns:305px minmax(0,1fr);grid-gap:20px;gap:20px}.job-thumbnail{width:305px;height:124px;object-fit:cover}.job-row.has-cover h3{font-size:18px}.job-hero{object-fit:cover}@media (max-width:1000px){.job-row.has-cover{grid-template-columns:180px minmax(0,1fr)}.job-thumbnail{width:180px;height:100px}}@media (max-width:720px){.job-row.has-cover{grid-template-columns:1fr}.job-thumbnail{width:100%;height:auto;aspect-ratio:305/124}.company-hero{height:auto;aspect-ratio:5/2;object-fit:cover}}