@import url("https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;600;700;800;900&family=Noto+Sans+JP:wght@400;500;600;700;800;900&display=swap");:root{--forest:#062f27;--ink:#09231e;--lime:#d7ed10;--green:#08b84e;--paper:#f5f4ef;--muted:#5f746c}

*{box-sizing:border-box}

body{margin:0;background:var(--paper);color:var(--ink);font-family:"Noto Sans JP",sans-serif;line-height:1.7}

.wrap{width:min(100% - 44px,1120px);margin:auto}

a{text-decoration:none;color:inherit}

.site-header{position:sticky;top:0;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid rgba(9,35,30,.08)}

.nav{height:88px;display:flex;align-items:center;justify-content:space-between;gap:22px}

.brand{width:180px;height:54px;background:#fff;border-radius:8px;overflow:hidden}

.brand img{width:100%;height:100%;object-fit:cover}

.line-button{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:15px 24px;background:var(--green);color:#fff;font-weight:800}

.job-hero{background:var(--forest);color:#fff;padding:55px 0 0}

.breadcrumb{font:700 12px "DM Sans";letter-spacing:.12em;color:#b4cbc3}

.job-hero-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:44px;align-items:end}

.job-hero-copy{padding:38px 0 55px}

.eyebrow{font:800 12px "DM Sans";letter-spacing:.17em;color:#b9d3ca;margin:0 0 13px}

.job-hero h1{font-size:clamp(39px,5vw,70px);line-height:1.12;margin:0}

.job-hero p:not(.eyebrow){color:#cee0da;margin:22px 0 28px}

.job-hero-image,.job-hero-image img{min-height:390px}

.job-hero-image img{display:block;width:100%;height:100%;object-fit:cover;object-position:center}

.content{padding:78px 0}

.lead{font-size:clamp(20px,2.5vw,30px);font-weight:700;line-height:1.65;margin:0 0 52px}

.details{display:grid;grid-template-columns:repeat(2,1fr);gap:16px}

.detail{background:#fff;padding:26px 28px;border-top:4px solid var(--lime);box-shadow:0 8px 24px rgba(9,35,30,.07)}

.wide{grid-column:1/-1}

.detail h2{font-size:14px;letter-spacing:.08em;color:var(--muted);margin:0 0 8px}

.detail p,.detail ul{margin:0;font-size:16px}

.detail li+li{margin-top:6px}

.poster{width:100%;max-width:680px;display:block;margin:0 auto 54px;box-shadow:0 18px 45px rgba(9,35,30,.15)}

.notice{margin-top:34px;padding:26px 28px;background:#e9f1ec;border-left:5px solid var(--green);font-weight:600}

.apply{background:var(--lime);padding:70px 0}

.apply-inner{display:flex;align-items:center;justify-content:space-between;gap:30px}

.apply h2{font-size:clamp(32px,4vw,54px);line-height:1.2;margin:0}

.apply p{margin:11px 0 0;font-size:15px}

.apply .line-button{font-size:17px;padding:19px 30px}

.site-footer{background:#fff;padding:42px 0 74px}

.foot{display:flex;justify-content:space-between;gap:28px}

.foot .brand{width:170px}

.foot-info{text-align:right;font-size:13px;color:var(--muted)}

.foot-info b{color:var(--ink)}

@media(max-width:760px){.wrap{width:min(100% - 32px,1120px)}

.nav{height:76px}

.brand{width:144px;height:43px}

.line-button{padding:12px 16px;font-size:14px}

.job-hero{padding-top:28px}

.job-hero-grid{grid-template-columns:1fr;gap:0}

.job-hero-copy{padding:26px 0 34px}

.job-hero-image,.job-hero-image img{min-height:250px}

.content{padding:52px 0}

.details{grid-template-columns:1fr}

.wide{grid-column:auto}

.detail{padding:22px}

.poster{margin-bottom:34px}

.apply{padding:50px 0}

.apply-inner,.foot{display:block}

.apply .line-button{margin-top:24px;width:100%}

.foot-info{text-align:left;margin-top:25px}

.foot .brand{width:155px}

}

.medical-route .job-hero-image{background:var(--forest);padding-bottom:54px}

.back-list-wrap{margin-top:34px}

.back-list{display:inline-flex;align-items:center;justify-content:center;padding:15px 24px;border-radius:999px;background:var(--forest);color:#fff;font-weight:800;box-shadow:0 10px 24px rgba(6,47,39,.18);transition:transform .25s,background .25s}

.back-list:before{content:"←";margin-right:9px}

.back-list:hover{transform:translateY(-2px);background:#0a483c}
.back-list:before{content:none;margin:0}

.back-list-wrap{text-align:center}

.job-hero-image{background:var(--forest);padding-bottom:54px}

.foot .brand{display:block;width:118px;height:36px;margin:0 0 22px}

.foot .brand img{object-fit:contain;object-position:left center}

@media(max-width:760px){.foot .brand{width:108px;height:33px;margin-bottom:20px}
}
