:root{--primary:#1a1a2e;--primary-dark:#0a0a0a;--primary-hover:#2a2a3e;--section-bg:#fafafa;--border:#e5e7eb;--border-dark:#333333;--warning:#c0392b;--text-black:#0a0a0a;--text-mid:#4b5563;--text-light:#6b7280;--text-subtle:#9ca3af;--white:#ffffff;color-scheme:light}*{box-sizing:border-box}body{margin:0;font-family:Noto Sans JP,Meiryo,system-ui,sans-serif;color:var(--text-black);background:var(--white);line-height:1.75;-webkit-font-smoothing:antialiased}main{max-width:860px;margin:0 auto;padding:0 0 56px}.hero{background:var(--primary-dark);padding:14px 16px}.hero,.hero h1{color:var(--white)}.hero h1{margin:0;font-weight:700;display:flex;align-items:baseline;gap:14px}.heroCompany{font-size:1.45rem}.heroProposal{font-size:.9rem;font-weight:400;color:var(--white)}section{padding:0 44px;margin-top:20px}h2{color:var(--primary);font-size:1.15rem;font-weight:700;margin:0 0 9px;padding-bottom:5px;border-bottom:2px solid var(--primary)}.eyebrow{color:var(--text-subtle);font-size:.8rem}.todo{color:var(--text-light)}.doc{white-space:pre-wrap;font-family:inherit;font-size:.88rem;line-height:1.55;color:var(--text-black);background:var(--white);border:1px solid var(--border);border-left:2px solid var(--primary);padding:12px 18px;margin:0}.positionName{background:var(--section-bg);color:var(--primary);border-left:4px solid var(--primary);padding:9px 16px;font-size:1rem;font-weight:700;margin:0 0 9px}.duties{list-style:none;margin:0;padding:11px 18px;background:var(--white);border:1px solid var(--border);border-left:2px solid var(--primary)}.duties li{position:relative;padding-left:18px;font-size:.88rem;line-height:1.5;color:var(--text-black)}.duties li+li{margin-top:4px}.duties li:before{content:"";position:absolute;left:0;top:.55em;width:6px;height:6px;background:var(--primary)}.carouselHead{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:16px}.carouselHead h2{margin:0}.nav{display:flex;align-items:center;gap:8px;padding-bottom:8px}.nav button{background:var(--primary);color:var(--white);border:none;padding:6px 14px;cursor:pointer;font-size:1rem;line-height:1}.nav button:hover:not(:disabled){background:var(--primary-hover)}.nav button:disabled{background:var(--text-subtle);cursor:default}.nav span{color:var(--text-subtle);font-size:.82rem;min-width:40px;text-align:center}.setPart{display:inline-block;background:var(--primary);color:var(--white);font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:4px 10px;margin:.9em 0 .4em}.targetTitle{background:var(--section-bg);color:var(--primary);border-left:4px solid var(--primary);padding:9px 16px;font-size:1rem;font-weight:700;margin:0}section p.lead{font-size:1rem;color:var(--text-black);margin:16px 0}section p.lead strong{color:var(--primary);font-weight:700}ul.checklist{list-style:none;padding:0;margin:16px 0;display:grid;grid-gap:8px;gap:8px}ul.checklist li{position:relative;padding-left:26px;font-size:.98rem;color:var(--text-black)}ul.checklist li:before{content:"✓";position:absolute;left:0;color:var(--primary);font-weight:700}.priceBox{background:var(--section-bg);border-left:4px solid var(--primary);padding:20px 24px;margin-top:24px}.priceLabel{display:inline-block;background:var(--primary);color:var(--white);font-size:.72rem;font-weight:700;letter-spacing:.05em;padding:4px 10px}.priceValue{display:block;color:var(--primary);font-size:2rem;font-weight:700;line-height:1.2;margin-top:12px}.priceUnit{font-size:1.1rem;margin-left:2px}.priceNote{display:block;color:var(--text-mid);font-size:.88rem;margin-top:12px}.profile{background:var(--white);border:1px solid var(--border);border-left:2px solid var(--primary);padding:18px 22px;margin-top:18px}.profileLead{margin:0;font-weight:700;color:var(--text-black)}.profileNote{margin:10px 0 0;font-size:.92rem;color:var(--text-black)}.ctaNote{margin:10px 0 0;color:var(--text-subtle);font-size:.82rem}.cta{display:inline-block;background:var(--primary);color:var(--white);font-weight:700;font-size:.95rem;padding:14px 22px;border:none;cursor:pointer}.cta:hover{background:var(--primary-hover)}.footer{margin-top:56px;padding:22px 44px;border-top:1px solid var(--border);display:flex;justify-content:space-between;color:var(--text-subtle);font-size:.78rem}