:root{--memo-navy:#14284b;--memo-blue:#356fd3;--memo-sky:#eaf3ff;--memo-line:#d8e4f2;--memo-red:#b33d4d}*{box-sizing:border-box}body{margin:0;background:#f5f8fc;color:#1e2f48;font-family:"Yu Gothic",Meiryo,sans-serif}.contract-header{height:72px;background:#fff;border-bottom:1px solid var(--memo-line);display:flex;align-items:center;justify-content:space-between;padding:0 max(24px,calc((100vw - 1080px)/2));gap:20px}.contract-header a{text-decoration:none;color:#37516e;font-weight:700}.contract-brand{font-size:1.12rem!important;color:var(--memo-navy)!important}.contract-page{max-width:1080px;margin:auto;padding:40px 24px 72px}.contract-hero{background:var(--memo-navy);color:#fff;border-radius:24px;padding:48px clamp(24px,6vw,72px);position:relative;overflow:hidden}.contract-hero:after{content:"✓";position:absolute;right:7%;top:12%;font-size:9rem;color:#fff;opacity:.08}.contract-hero span{font-size:.78rem;letter-spacing:.18em;color:#9fc3ff;font-weight:800}.contract-hero h1{font-size:clamp(2rem,5vw,3.7rem);line-height:1.2;margin:12px 0 18px}.contract-hero p{max-width:650px;line-height:1.9;margin:0}.privacy-note{background:#fff;border:1px solid var(--memo-line);border-left:5px solid var(--memo-blue);padding:18px 22px;margin:22px 0;border-radius:12px}.privacy-note p{margin:5px 0 0;color:#607087;font-size:.92rem;line-height:1.7}.contract-card{background:#fff;border:1px solid var(--memo-line);border-radius:20px;padding:clamp(22px,4vw,38px);margin-top:22px;box-shadow:0 10px 32px rgba(32,68,112,.06)}.contract-heading{display:flex;gap:16px;align-items:flex-start;margin-bottom:24px}.contract-heading>span{background:var(--memo-sky);color:var(--memo-blue);font-weight:900;border-radius:9px;padding:7px 9px}.contract-heading h2{margin:0 0 5px;font-size:1.35rem}.contract-heading p{margin:0;color:#6c7d92;font-size:.9rem}.contract-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:17px}.contract-grid label{font-size:.86rem;font-weight:800;display:flex;flex-direction:column;gap:7px}.contract-grid input{font:inherit;padding:12px 13px;border:1px solid #aebed1;border-radius:9px;color:#172b48;background:#fff}.contract-grid input:focus{outline:3px solid #dceaff;border-color:var(--memo-blue)}.contract-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px}.contract-actions button,.row-button{border:0;border-radius:9px;background:var(--memo-blue);color:#fff;padding:11px 17px;font:inherit;font-weight:800;cursor:pointer}.contract-actions .secondary,.row-button.secondary{background:var(--memo-sky);color:#234f8e}.contract-actions .danger,.row-button.danger{background:#ffebee;color:var(--memo-red)}#contract-status{font-weight:800;padding:0 4px}.status-error{color:var(--memo-red)}.due-item{background:#fff6ed;border-left:4px solid #e38b37;padding:13px 15px;border-radius:8px;margin:9px 0}.due-empty{background:#edf8f1;border-left:4px solid #4b9d67;padding:13px 15px;border-radius:8px}.contract-table{overflow:auto}.contract-table table{border-collapse:collapse;width:100%;font-size:.9rem}.contract-table th,.contract-table td{border-bottom:1px solid #e6edf5;padding:13px 10px;text-align:left;white-space:nowrap}.contract-table th{color:#65768b;background:#f8fafd}.row-button{padding:7px 10px;font-size:.82rem;margin-right:5px}@media(max-width:640px){.contract-header{height:60px;padding:0 18px}.contract-header>a:last-child{font-size:.82rem}.contract-page{padding:20px 14px 50px}.contract-hero{border-radius:17px;padding:34px 23px}.contract-card{border-radius:15px}.contract-actions button{width:100%}}
