@import url("https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,500;1,400;1,500&family=Noto+Sans+JP:wght@300;400;500;600&display=swap");:root{--color-bg:#fff;--color-dark:#0d1117;--color-dark-surface:#161b22;--color-text:#2c2c2c;--color-text-secondary:#777;--color-text-on-dark:#e6e6e6;--color-text-on-dark-sub:#8b949e;--color-navy:#2c3e50;--color-teal:#00b4a0;--color-teal-hover:#00c9b3;--color-teal-subtle:rgba(0,180,160,.08);--color-border:#ddd;--color-border-focus:#00b4a0;--color-error:#e74c3c;--font-sans:"Noto Sans JP",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Hiragino Kaku Gothic ProN",sans-serif;--font-script:"Cormorant Garamond","Georgia",serif;--max-width:620px}*{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);font-weight:400;background:var(--color-bg);color:var(--color-text);line-height:1.9;-webkit-font-smoothing:antialiased}.hero{background:var(--color-dark);width:100%;display:flex;flex-direction:column;align-items:center;padding:3.5rem 1.5rem 3rem;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:-40%;right:-20%;width:500px;height:500px;background:radial-gradient(circle,rgba(0,180,160,.12) 0,transparent 70%);pointer-events:none}.hero__company{font-size:.75rem;letter-spacing:.2em;color:var(--color-text-on-dark-sub);margin-bottom:1.5rem;font-weight:400;position:relative}.hero__logos{display:flex;align-items:center;gap:1.25rem;margin-bottom:1.75rem;position:relative}.hero__logo-text{font-weight:600;font-size:1rem;letter-spacing:.05em}.hero__logo-42,.hero__logo-text{font-family:var(--font-sans);color:var(--color-text-on-dark)}.hero__logo-42{font-weight:700;font-size:1.5rem;letter-spacing:-.02em}.hero__logo-divider{width:1px;height:24px;background:var(--color-text-on-dark-sub);opacity:.4}.hero__script{font-family:var(--font-script);font-style:italic;font-size:2.75rem;color:var(--color-teal);margin-bottom:.5rem;line-height:1.3}.hero__script,.hero__title{font-weight:400;position:relative}.hero__title{font-size:.9375rem;letter-spacing:.12em;color:var(--color-text-on-dark-sub);margin-bottom:1.75rem}.hero__divider{width:40px;border:none;border-top:1px solid var(--color-teal);margin:0 auto 1.75rem;opacity:.6}.hero__subtitle{font-size:.9375rem;font-weight:300;color:var(--color-text-on-dark);line-height:2;text-align:center;position:relative}.hero__accent{color:var(--color-teal);font-weight:500}.page-body{align-items:center;padding:3rem 1.5rem 5rem}.form,.page-body{display:flex;flex-direction:column}.form{width:100%;max-width:var(--max-width);gap:2.25rem}.section-label{font-size:.6875rem;font-weight:500;letter-spacing:.2em;color:var(--color-teal);text-transform:uppercase;margin-bottom:-.75rem}.field{display:flex;flex-direction:column;gap:.5rem}.field__label{font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.625rem;color:var(--color-text)}.field__required{font-size:.625rem;font-weight:500;color:#fff;background:var(--color-teal);padding:.125rem .5rem;border-radius:2px;letter-spacing:.1em}.field__hint{font-size:.8125rem;font-weight:300;color:var(--color-text-secondary)}.field__input,.field__select,.field__textarea{font-family:var(--font-sans);font-size:.9375rem;font-weight:400;padding:.75rem 0;border:none;border-bottom:1px solid var(--color-border);background:transparent;color:var(--color-text);transition:border-color .2s;width:100%;border-radius:0}.field__input:focus,.field__select:focus,.field__textarea:focus{outline:none;border-bottom-color:var(--color-border-focus)}.field__input::placeholder,.field__textarea::placeholder{color:#bbb;font-weight:300}.field__textarea{resize:vertical;min-height:120px;border:1px solid var(--color-border);padding:.875rem 1rem;border-radius:4px;line-height:1.8}.field__textarea:focus{border-color:var(--color-border-focus)}.field__radio-group{display:flex;flex-direction:column;gap:.75rem;margin-top:.25rem}.field__radio-label{display:flex;align-items:center;gap:.75rem;font-size:.9375rem;font-weight:400;cursor:pointer}.field__radio-label input[type=radio]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:18px;height:18px;border:1.5px solid var(--color-border);border-radius:50%;flex-shrink:0;position:relative;cursor:pointer;transition:border-color .15s}.field__radio-label input[type=radio]:checked{border-color:var(--color-teal)}.field__radio-label input[type=radio]:checked:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:10px;height:10px;border-radius:50%;background:var(--color-teal)}.divider{border:none;border-top:1px solid #eee;margin:.25rem 0}.submit-area{display:flex;flex-direction:column;align-items:center;gap:1.25rem;margin-top:1.5rem}.submit-btn{font-family:var(--font-sans);font-size:.9375rem;font-weight:500;padding:1rem 3.5rem;background:var(--color-dark);color:#fff;border:none;border-radius:0;cursor:pointer;transition:all .2s;letter-spacing:.15em;position:relative}.submit-btn:after{content:"";position:absolute;bottom:0;left:0;width:100%;height:2px;background:var(--color-teal)}.submit-btn:hover{background:var(--color-dark-surface)}.submit-btn:disabled{opacity:.4;cursor:not-allowed}.submit-error{font-size:.875rem;font-weight:400;color:var(--color-error);text-align:center;max-width:28rem;line-height:1.6}.submit-note{font-size:.8125rem;font-weight:300}.footer,.submit-note{color:var(--color-text-secondary);text-align:center}.footer{margin-top:5rem;font-size:.6875rem;letter-spacing:.1em;font-weight:400}.complete{text-align:center;max-width:var(--max-width);width:100%;padding-top:4rem}.complete__icon{width:48px;height:48px;border:2px solid var(--color-teal);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;color:var(--color-teal);font-size:1.25rem}.complete__title{font-family:var(--font-script);font-style:italic;font-size:2rem;font-weight:400;color:var(--color-dark);margin-bottom:1.5rem}.complete__message{font-size:.9375rem;font-weight:300;color:var(--color-text);line-height:2}.field__error{font-size:.8125rem;color:var(--color-error);font-weight:400}@media (max-width:480px){.hero{padding:2.5rem 1.25rem}.hero__script{font-size:2rem}.page-body{padding:2rem 1.25rem 3rem}.submit-btn{width:100%;padding:1rem}}