*,:before,:after{box-sizing:border-box}:root{--font-noto-sans-jp:"Noto Sans JP Variable";--color-bg:#fafbf8;--color-text:#1f2a22;--color-text-label:#3b4a3d;--color-text-muted:#8b968a;--color-accent:#06c755;--color-accent-hover:#049c46;--color-accent-disabled:#c9e9d5;--color-error:#ef4763;--color-border:#e4e7e1;--color-border-light:#f0f2ed;--color-border-disabled:#eef1ec;--color-surface:#fff;--color-surface-disabled:#f7f8f5;--color-text-disabled:#b9c0b4;--shadow-card:0 2px 10px #141e1408;--shadow-button-primary:0 2px 8px #06c7552e;--radius-input:12px;--radius-card:16px}html,body{background:var(--color-bg);min-height:100%;color:var(--color-text);font-family:var(--font-noto-sans-jp), "Noto Sans JP", sans-serif;-webkit-font-smoothing:antialiased;margin:0;padding:0}.btn-primary{background:var(--color-accent);color:#fff;border-radius:var(--radius-input);cursor:pointer;width:100%;box-shadow:var(--shadow-button-primary);border:none;justify-content:center;align-items:center;padding:13px 24px;font-family:inherit;font-size:16px;font-weight:700;transition:background .15s;display:inline-flex}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover)}.btn-primary:disabled{background:var(--color-accent-disabled);color:#fff;cursor:not-allowed;box-shadow:none}.input-label{color:var(--color-text-label);font-size:13px;font-weight:600}.input-label--disabled{color:var(--color-text-disabled)}.input-field{border-radius:var(--radius-input);border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;height:46px;color:var(--color-text);outline:none;padding:0 16px;font-family:inherit;font-size:14px;transition:border-color .15s}.input-field::placeholder{color:var(--color-text-muted)}.input-field:focus{border-color:var(--color-accent)}.input-field--error,.input-field--error:focus{border-color:var(--color-error)}.input-field:disabled{border-color:var(--color-border-disabled);background:var(--color-surface-disabled);color:var(--color-text-disabled);cursor:not-allowed}.input-error{color:var(--color-error);font-size:12px}.select-field{border-radius:var(--radius-input);border:1.5px solid var(--color-border);background:var(--color-surface);width:100%;height:46px;color:var(--color-text);appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none'%3E%3Cpath d='M4 6L8 10L12 6' stroke='%238b968a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 16px center;background-repeat:no-repeat;outline:none;padding:0 40px 0 16px;font-family:inherit;font-size:14px;transition:border-color .15s}.select-field:focus{border-color:var(--color-accent)}.select-field--error,.select-field--error:focus{border-color:var(--color-error)}.select-field:disabled{border-color:var(--color-border-disabled);background-color:var(--color-surface-disabled);color:var(--color-text-disabled);cursor:not-allowed}.signup-main{background:var(--color-bg);justify-content:center;align-items:center;min-height:100vh;padding:32px 16px;display:flex}.signup-main--top{align-items:flex-start;padding:48px 16px}.signup-card{background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:var(--radius-card);width:100%;max-width:420px;box-shadow:var(--shadow-card);flex-direction:column;gap:26px;padding:28px 32px;display:flex}.signup-card--wide{max-width:480px;padding:32px}.signup-heading{color:var(--color-text);margin:0;font-size:28px;font-weight:700}.signup-body{color:var(--color-text-label);margin:0;font-size:14px}.signup-step{color:var(--color-text-muted);margin:0;font-size:12px}.btn-secondary-neutral{color:#3b4a3d;border:1.5px solid var(--color-border);border-radius:var(--radius-input);cursor:pointer;background:#fff;padding:11.5px 24px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s}.btn-secondary-neutral:hover:not(:disabled){background:#f7f8f5}.btn-secondary-neutral:disabled{cursor:not-allowed;opacity:.7}.loading-screen{background:var(--color-bg);min-height:100vh;color:var(--color-text-muted);justify-content:center;align-items:center;font-size:12px;font-weight:500;display:flex}.legal-page{background:var(--color-bg);min-height:100vh;padding:32px 16px}.legal-container{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);max-width:800px;box-shadow:var(--shadow-card);margin:0 auto;padding:32px 24px}.legal-title{color:var(--color-text);margin:0 0 24px;font-size:28px;font-weight:700;line-height:1.4}.legal-lead{color:var(--color-text);margin:0 0 32px;font-size:14px;line-height:1.9}.legal-h2{color:var(--color-text);margin:32px 0 12px;font-size:20px;font-weight:700;line-height:1.5}.legal-h3{color:var(--color-text-label);margin:24px 0 8px;font-size:16px;font-weight:600;line-height:1.5}.legal-p{color:var(--color-text);margin:0 0 12px;font-size:14px;line-height:1.9}.legal-ol,.legal-ul{color:var(--color-text);margin:0 0 12px;padding-left:24px;font-size:14px;line-height:1.9}.legal-ol>li,.legal-ul>li{margin-bottom:4px}.legal-ol-nested{margin:4px 0 8px;padding-left:24px;list-style-type:none}.legal-table{border-collapse:collapse;width:100%;margin:0 0 12px;font-size:14px;line-height:1.9}.legal-table th,.legal-table td{border:1px solid var(--color-border);text-align:left;vertical-align:top;color:var(--color-text);padding:12px}.legal-table th{background:var(--color-border-light);color:var(--color-text-label);font-weight:600}.legal-table--def tbody th{width:200px}.legal-table-scroll{margin:0 0 12px;overflow-x:auto}.legal-table-scroll .legal-table{min-width:560px;margin:0}.legal-meta{border-top:1px solid var(--color-border-light);color:var(--color-text-muted);margin:32px 0 0;padding-top:24px;font-size:12px;line-height:1.9}.legal-footer-nav{flex-wrap:wrap;justify-content:center;gap:16px;max-width:800px;margin:24px auto 0;font-size:12px;display:flex}.legal-footer-nav a{color:var(--color-text-muted);text-decoration:none}.legal-footer-nav a:hover{color:var(--color-accent);text-decoration:underline}@media (max-width:600px){.legal-container{padding:24px 16px}.legal-table--def,.legal-table--def tbody,.legal-table--def tr,.legal-table--def th,.legal-table--def td{width:100%;display:block}.legal-table--def tr{margin-bottom:12px}.legal-table--def tbody th{border-bottom:none;width:100%}}
