:root{--ink:#07172f;--muted:#40546d;--line:#d8e5ec;--surface:#eef8fb;--blue:#1f58df;--blue-dark:#1544bd;--mint:#21d6a0;--mint-soft:#dffaf1;--warm:#fffefa;--wrap:min(1080px,calc(100% - 40px))}
*,*::before,*::after{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--warm);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;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:54px 0 58px;background:radial-gradient(circle at 86% 12%,rgba(33,214,160,.18),transparent 24rem),linear-gradient(180deg,#edf8fc,#fff)}.breadcrumb{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:26px;color:#587082;font-size:12px;font-weight:700}.breadcrumb a{text-decoration:underline;text-underline-offset:3px}.hero-meta{display:flex;align-items:center;gap:10px;margin-bottom:14px}.job-id{color:#4b6877;font-size:11px;font-weight:900;letter-spacing:.11em}.status{padding:5px 10px;border-radius:999px;color:#7a5120;background:#fff2d8;font-size:11px;font-weight:900}.category{color:var(--blue);font-size:12px;font-weight:900;letter-spacing:.08em}.hero h1{max-width:850px;margin-bottom:17px;font-size:clamp(36px,5vw,56px);line-height:1.25;letter-spacing:-.05em}.hero-lead{max-width:780px;margin-bottom:27px;color:#365064;font-size:16px;font-weight:650}.quick-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.fact{padding:14px 16px;border:1px solid #cde1e9;border-radius:13px;background:rgba(255,255,255,.88)}.fact small{display:block;margin-bottom:4px;color:#587082;font-size:10px;font-weight:800}.fact strong{display:block;font-size:17px;line-height:1.4}.fact.price strong{color:var(--blue);font-size:24px;letter-spacing:-.04em}
.content{padding:62px 0 80px}.layout{display:grid;grid-template-columns:minmax(0,1fr) 310px;align-items:start;gap:24px}.main-card{overflow:hidden;border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 14px 38px rgba(24,72,98,.07)}.section{padding:30px}.section+.section{border-top:1px solid var(--line)}.section h2{margin-bottom:18px;font-size:23px;letter-spacing:-.025em}.info{margin:0}.info-row{display:grid;grid-template-columns:160px minmax(0,1fr);border-top:1px solid var(--line)}.info-row:first-child{border-top:0}.info dt,.info dd{margin:0;padding:15px 14px}.info dt{font-size:12px;font-weight:900;background:#f4f8fa}.info dd{color:#344f61;font-size:13px;font-weight:650}.info dd strong{color:var(--blue);font-size:18px}.content-list{display:grid;gap:10px;margin:0;padding-left:1.3em;color:var(--muted);font-size:14px}.content-list li{padding-left:3px}.skill-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px}.skill-box{padding:20px;border-radius:14px;background:#f4f8fa}.skill-box.preferred{background:#edf8fc}.skill-box h3{margin-bottom:12px;font-size:15px}.skill-box ul{display:grid;gap:8px;margin:0;padding-left:1.2em;color:var(--muted);font-size:13px}
.apply-box{padding:22px;border-radius:14px;color:#fff;background:var(--ink)}.apply-box h3{margin-bottom:8px;font-size:19px}.apply-box p{margin-bottom:16px;color:#c5d2df;font-size:13px}.apply-box .button{width:100%;min-height:50px;color:#064d3c;background:var(--mint);box-shadow:none}.apply-box .button:hover{background:#4ce0b5}.apply-note{margin:12px 0 0!important;color:#9eb1c3!important;font-size:10px!important}
.sidebar{position:sticky;top:20px;display:grid;gap:14px}.side-card{padding:23px;border:1px solid var(--line);border-radius:18px;background:#fff}.side-card h2{margin-bottom:9px;font-size:19px}.side-card p{margin-bottom:16px;color:var(--muted);font-size:13px}.side-price{margin-bottom:17px;padding-bottom:17px;border-bottom:1px solid var(--line)}.side-price small{display:block;color:#587082;font-size:10px;font-weight:800}.side-price strong{display:block;color:var(--blue);font-size:31px;line-height:1.35;letter-spacing:-.05em}.side-price span{font-size:11px}.side-card .button{width:100%;min-height:50px}.trust{display:grid;gap:7px;margin:15px 0 0;padding:0;list-style:none;color:#4f6878;font-size:11px;font-weight:750}.trust li::before{content:"✓";margin-right:7px;color:#078b69}.back-link{display:block;padding:15px;border:1px solid var(--line);border-radius:12px;color:#315a70;background:#fff;font-size:12px;font-weight:850;text-align:center}
.disclaimer{margin:22px 0 0;color:#587082;font-size:11px;line-height:1.75}.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}
.hero h1{max-width:none;white-space:nowrap;letter-spacing:-.055em}
@media(max-width:760px){:root{--wrap:min(100% - 30px,1080px)}.header-inner{min-height:64px}.logo{width:162px}.header-links>a:first-child{display:none}.header-cta{padding-inline:12px;font-size:11px}.hero{padding:42px 0 48px}.hero h1{font-size:34px}.quick-facts{grid-template-columns:1fr 1fr}.fact{padding:12px}.fact.price strong{font-size:20px}.content{padding:48px 0 62px}.layout{grid-template-columns:1fr}.main-card{border-radius:16px}.section{padding:23px 19px}.info-row{grid-template-columns:105px minmax(0,1fr)}.info dt,.info dd{padding:13px 10px}.skill-columns{grid-template-columns:1fr}.sidebar{position:static}.footer-inner{display:grid}}
@media(max-width:400px){.quick-facts{grid-template-columns:1fr}.hero-meta{align-items:flex-start;flex-wrap:wrap}.info-row{grid-template-columns:1fr}.info dt{padding-bottom:5px}.info dd{padding-top:5px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
