:root {
  --ink:#07172f; --muted:#40546d; --line:#d8e5ec; --surface:#eef8fb;
  --blue:#1f58df; --blue-dark:#1544bd; --mint:#21d6a0; --mint-soft:#dffaf1;
  --wrap:min(1080px,calc(100% - 40px));
}
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:24px}
body{margin:0;color:var(--ink);background:#fffefa;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Hiragino Sans","Yu Gothic",Meiryo,sans-serif;line-height:1.75;letter-spacing:.015em;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none} img{display:block;max-width:100%;height:auto} h1,h2,h3,p{margin-top:0;line-break:strict;overflow-wrap:break-word}
.wrap{width:var(--wrap);margin-inline:auto}
.header{border-bottom:1px solid var(--line);background:#fff}
.header-inner{min-height:72px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.logo{width:188px}
.header-links{display:flex;align-items:center;gap:18px;margin-left:auto;color:#486273;font-size:12px;font-weight:800}
.header-cta,.button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 18px;border-radius:10px;color:#fff;background:var(--blue);font-size:13px;font-weight:850;box-shadow:0 10px 22px rgba(31,88,223,.18)}
.header-cta:hover,.button:hover{background:var(--blue-dark)}
.hero{padding:64px 0 70px;background:radial-gradient(circle at 85% 10%,rgba(33,214,160,.18),transparent 25rem),linear-gradient(180deg,#eff9fd,#fff)}
.breadcrumb{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:30px;color:#587082;font-size:12px;font-weight:700}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}
.kicker{margin-bottom:12px;color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}
h1{max-width:850px;margin-bottom:20px;font-size:clamp(38px,6vw,62px);line-height:1.2;letter-spacing:-.055em}
.hero-lead{max-width:760px;margin-bottom:30px;color:#344e61;font-size:18px;font-weight:650;line-height:1.9}
.hero-stats{display:flex;flex-wrap:wrap;gap:10px}
.hero-stat{min-width:155px;padding:15px 18px;border:1px solid #cde2eb;border-radius:14px;background:rgba(255,255,255,.84)}
.hero-stat strong{display:block;color:var(--blue);font-size:24px;line-height:1.25}.hero-stat span{color:#587082;font-size:11px;font-weight:750}
.guide{padding:70px 0}
.guide-grid{display:grid;grid-template-columns:1.3fr 1fr;gap:24px}
.guide-card{padding:32px;border:1px solid var(--line);border-radius:20px;background:#fff}
.guide-card.accent{background:var(--surface)}
.guide-card h2{margin-bottom:14px;font-size:25px;letter-spacing:-.025em}.guide-card p{margin-bottom:0;color:var(--muted)}
.skill-list{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none}.skill-list li{padding:7px 11px;border-radius:8px;color:#315a70;background:#fff;font-size:12px;font-weight:800}
.listing{padding:76px 0;background:#e9f6fa}
.section-head{margin-bottom:32px}.section-head h2{margin-bottom:10px;font-size:34px;letter-spacing:-.04em}.section-head p{margin-bottom:0;color:var(--muted)}
.jobs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px}
.job{display:flex;flex-direction:column;padding:25px;border:1px solid #cbdfe7;border-radius:18px;background:#fff;box-shadow:0 12px 32px rgba(29,78,105,.07);scroll-margin-top:24px}
.job:target{outline:4px solid rgba(33,214,160,.45);outline-offset:3px}
.job-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:15px}.job-id{color:#4b6877;font-size:11px;font-weight:900;letter-spacing:.1em}.job-work{padding:5px 9px;border-radius:999px;color:#087b5d;background:var(--mint-soft);font-size:11px;font-weight:850}
.job h3{min-height:2.9em;margin-bottom:16px;font-size:19px;line-height:1.45;letter-spacing:-.018em}
.pay{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:18px}.pay div{padding:12px;border-radius:11px;background:#f1f6f8}.pay div:last-child{background:#e7f5fb}.pay small{display:block;margin-bottom:5px;color:#587082;font-size:10px;font-weight:800}.pay strong{display:block;color:var(--ink);font-size:21px;line-height:1.25;letter-spacing:-.04em}.pay div:last-child strong{color:var(--blue)}.pay span{font-size:10px;font-weight:750}
.specs{display:grid;gap:8px;margin:0 0 20px;padding-top:17px;border-top:1px solid var(--line);font-size:12px}.specs div{display:grid;grid-template-columns:44px 1fr;gap:8px}.specs dt{font-weight:850}.specs dd{margin:0;color:var(--muted)}
.job-more{margin:0 0 12px;border:1px solid #d6e5eb;border-radius:11px;background:#f8fbfc}.job-more summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 13px;color:#315a70;font-size:12px;font-weight:900;cursor:pointer;list-style:none}.job-more summary::-webkit-details-marker{display:none}.job-more summary::after{content:"＋";font-size:16px;line-height:1}.job-more[open] summary::after{content:"−"}.job-more-body{display:grid;gap:17px;padding:17px 15px 18px;border-top:1px solid #d6e5eb;background:#fff}.detail-section h4{margin:0 0 7px;font-size:13px}.detail-section ul{display:grid;gap:5px;margin:0;padding-left:1.25em;color:var(--muted);font-size:12px;line-height:1.75}.detail-section p{margin:0;color:var(--muted);font-size:12px;line-height:1.8}.detail-section.point{padding:12px;border-radius:9px;background:#edf8fc}
.job-buttons{display:grid;grid-template-columns:1fr .8fr;gap:8px;margin-top:auto}.job-page,.job-action{display:flex;align-items:center;justify-content:center;gap:10px;min-height:44px;padding:10px 12px;border-radius:10px;font-size:12px;font-weight:900}.job-page{color:#fff;background:var(--blue)}.job-page:hover{background:var(--blue-dark)}.job-action{justify-content:space-between;color:#155a7d;background:#edf8fc}.job-action:hover{color:#fff;background:var(--blue)}
.notice{margin:24px 0 0;color:#516b7a;font-size:12px;font-weight:650}
.cta{padding:78px 0}.cta-box{display:grid;grid-template-columns:1fr auto;align-items:center;gap:28px;padding:38px;border-radius:22px;color:#fff;background:var(--ink)}.cta h2{margin-bottom:8px;font-size:29px}.cta p{margin-bottom:0;color:#c3d0df}.cta .button{min-height:52px;background:var(--mint);color:#064d3c;box-shadow:none}
.footer{padding:34px 0;border-top:1px solid var(--line)}.footer-inner{display:flex;justify-content:space-between;gap:20px;color:#607383;font-size:11px}.footer a{text-decoration:underline;text-underline-offset:3px}
@media(max-width:720px){:root{--wrap:min(100% - 30px,1080px)}.header-inner{min-height:64px}.logo{width:150px}.header-links{gap:10px;font-size:10px}.header-cta{padding-inline:11px;font-size:10px}.hero{padding:46px 0 54px}h1{font-size:36px}.hero-lead{font-size:16px}.hero-stat{flex:1 1 120px;min-width:0}.guide{padding:54px 0}.guide-grid,.jobs,.cta-box{grid-template-columns:1fr}.guide-card{padding:24px}.listing{padding:58px 0}.section-head h2{font-size:29px}.job{padding:21px}.job h3{min-height:0}.pay strong{font-size:19px}.cta{padding:56px 0}.cta-box{padding:28px 22px}.cta .button{width:100%}.footer-inner{display:grid}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
