:root{--color-blue: 35 108 255;--color-blue-dim: 0 24 73;--color-blue-dark: 0 63 189;--color-blue-bright: 241 246 255}*{box-sizing:border-box}body{font-family:Inter,Noto Sans JP,sans-serif;background:linear-gradient(135deg,rgb(var(--color-blue-bright)),#fff);margin:0;padding:0;line-height:1.7;color:#1a202c;min-height:100vh;display:flex;flex-direction:column}#root{display:flex;flex-direction:column;min-height:100vh}.bg-blue-dim{background-color:rgb(var(--color-blue-dim))}.bg-blue-bright{background-color:rgb(var(--color-blue-bright))}.bg-blue-main{background-color:rgb(var(--color-blue))}.text-blue-dim{color:rgb(var(--color-blue-dim))}.text-blue-dark{color:rgb(var(--color-blue-dark))}.text-blue-main{color:rgb(var(--color-blue))}.border-blue-main{border-color:rgb(var(--color-blue))}.speech-bubble{position:fixed;bottom:20px;right:100px;z-index:49;animation:slide-in-up .5s ease-out 2s forwards;opacity:0;transform:translateY(20px);background:linear-gradient(135deg,rgb(var(--color-blue-dim)),rgb(var(--color-blue-dark)));color:#fff;padding:1rem;border-radius:8px;box-shadow:0 20px 40px #00184940;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.speech-bubble:after{content:"";position:absolute;bottom:8px;right:-8px;width:0;height:0;border-top:8px solid transparent;border-bottom:8px solid transparent;border-left:8px solid rgb(var(--color-blue-dim))}.close-btn{position:absolute;top:-8px;right:-8px;background:#fff;color:rgb(var(--color-blue-dim));border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;border:none;cursor:pointer}.speech-bubble p{margin:0;font-size:14px;color:#fff}@media (max-width: 767px){.speech-bubble{display:none}}@keyframes slide-in-up{to{opacity:1;transform:translateY(0)}}.container{width:100%;margin:0 auto;padding:0 40px}.header{background:linear-gradient(135deg,rgb(var(--color-blue-dim)),rgb(var(--color-blue-dark)));color:#fff;padding:1.5rem 0;position:relative;width:100%;box-shadow:0 4px 20px #00184926}.header-content{display:flex;align-items:center;justify-content:flex-start;max-width:1400px;margin:0 auto;padding:0 40px}.logo{height:40px;width:auto}.main-content{background-color:#fff;padding:4rem 0;min-height:calc(100vh - 80px);width:100%}.form-container{background:linear-gradient(145deg,#fff,#fafbfc);padding:4rem;margin:2rem auto;max-width:1400px;width:100%;border-radius:20px;box-shadow:0 25px 50px #00184914;border:1px solid rgba(35,108,255,.1)}.form-title{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,rgb(var(--color-blue-dim)),rgb(var(--color-blue-dark)));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:1.5rem;text-align:center;letter-spacing:-.02em}.form-subtitle{font-size:1.1rem;color:#666;margin-bottom:2rem;text-align:center;line-height:1.6}.form-notice{background:linear-gradient(135deg,rgb(var(--color-blue-bright)),#f8fafc);border:1px solid rgba(35,108,255,.2);border-radius:16px;padding:2rem;margin:0 auto 2rem;text-align:center;box-shadow:0 4px 15px #236cff14;position:relative;overflow:hidden;max-width:800px}.form-notice h3{color:rgb(var(--color-blue-dark));font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.form-notice p{color:rgb(var(--color-blue-dark));font-size:.95rem;margin:0;line-height:1.5}.notice-banner{background:linear-gradient(135deg,#fff3cd,#ffeaa7);border:1px solid #ffc107;border-radius:16px;padding:1.5rem;margin:0 auto 2rem;text-align:center;box-shadow:0 4px 15px #ffc10733;max-width:800px}.notice-banner h3{color:#856404;font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.notice-banner p{color:#856404;font-size:.95rem;margin:0;line-height:1.6}.form{display:flex;flex-direction:column;gap:1.5rem;max-width:800px;margin:0 auto}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group.full-width{grid-column:1 / -1}.form-label{font-weight:600;color:#333;font-size:.9rem;margin-bottom:.25rem}.form-label .required{color:#dc3545;margin-left:.25rem}.form-label .description{font-weight:400;font-size:.9rem;color:#666;margin-left:.5rem}.form-input{width:100%;padding:1rem;border:2px solid #e2e8f0;border-radius:12px;font-size:1rem;transition:all .3s ease;background:linear-gradient(145deg,#fff,#fafbfc);font-weight:500}.form-input:focus{outline:none;border-color:rgb(var(--color-blue));box-shadow:0 0 0 4px #236cff1a,0 4px 20px #236cff26;transform:translateY(-2px);background:#fff}.form-input::placeholder{color:#999}.form-textarea{min-height:180px;resize:vertical}.form-button{width:100%;padding:1.25rem 2rem;background:linear-gradient(135deg,rgb(var(--color-blue)),rgb(var(--color-blue-dark)));color:#fff;border:none;border-radius:16px;font-size:1.1rem;font-weight:700;cursor:pointer;transition:all .3s ease;margin-top:2rem;box-shadow:0 8px 25px #236cff4d;letter-spacing:.02em}.form-button:hover:not(:disabled){transform:translateY(-3px);box-shadow:0 12px 35px #236cff66}.form-button:disabled{background:linear-gradient(135deg,#cbd5e0,#a0aec0);cursor:not-allowed;opacity:.7;transform:none;box-shadow:0 4px 15px #0000001a}.privacy-checkbox{display:flex;align-items:flex-start;cursor:pointer;position:relative;padding-left:35px;margin-bottom:12px;font-size:1rem;-webkit-user-select:none;user-select:none;line-height:1.5}.privacy-checkbox input[type=checkbox]{position:absolute;opacity:0;cursor:pointer;height:0;width:0}.checkmark{position:absolute;top:0;left:0;height:20px;width:20px;background-color:#fff;border:2px solid #e2e8f0;border-radius:4px;transition:all .3s ease}.privacy-checkbox:hover input~.checkmark{border-color:rgb(var(--color-blue))}.privacy-checkbox input:checked~.checkmark{background-color:rgb(var(--color-blue));border-color:rgb(var(--color-blue))}.checkmark:after{content:"";position:absolute;display:none}.privacy-checkbox input:checked~.checkmark:after{display:block}.privacy-checkbox .checkmark:after{left:6px;top:2px;width:6px;height:10px;border:solid white;border-width:0 2px 2px 0;transform:rotate(45deg)}.privacy-checkbox a{color:rgb(var(--color-blue));text-decoration:underline;margin:0 4px}.privacy-checkbox a:hover{color:rgb(var(--color-blue-dark))}.success-message{margin-top:1rem;padding:1rem;background-color:rgb(var(--color-blue-bright));border:1px solid rgb(var(--color-blue));border-radius:4px;color:rgb(var(--color-blue-dark));font-size:.9rem;text-align:center}.error-message{margin-top:1rem;padding:1rem;background-color:#f8d7da;border:1px solid #f5c6cb;border-radius:4px;color:#721c24;font-size:.9rem;text-align:center}@media (min-width: 768px){.container,.header-content{padding:0 60px}.main-content{padding:4rem 0}.form-container{padding:4rem;max-width:none}.form-title{font-size:2.25rem}.form-subtitle{font-size:1.125rem}.form-notice{padding:2rem}.form-notice h3{font-size:1.2rem}.form-notice p{font-size:1rem}.form{max-width:900px;gap:2rem}.form-input{padding:.875rem;font-size:1rem}.form-button{padding:1rem 1.75rem;font-size:1.075rem}}@media (min-width: 1024px){.container,.header-content{padding:0 80px}.main-content{padding:5rem 0}.form-container{padding:4rem;max-width:none}.form-title{font-size:2.5rem}.form-subtitle{font-size:1.2rem}.form{gap:2.5rem;max-width:1000px}.form-input{padding:1rem;font-size:1.075rem}.form-button{padding:1.125rem 2rem;font-size:1.125rem}}@media (max-width: 767px){.container{padding:0 15px}.form-container{margin:0;padding:2rem}.form-title{font-size:1.75rem}.form-subtitle{font-size:.95rem}.main-content{padding:2rem 0}.form{gap:1.25rem}.form-row{grid-template-columns:1fr;gap:1rem}.form-input{padding:.75rem;font-size:1rem}.form-button{padding:.875rem 1.5rem;font-size:1rem}.form-group{gap:.375rem}.wisora-speech-bubble{display:none}}.footer{background-color:#f8f9fa;border-top:1px solid #e9ecef;padding:2rem 0;margin-top:auto}.footer-content{max-width:1200px;margin:0 auto;padding:0 2rem;display:flex;justify-content:space-between;align-items:center}.footer-left{display:flex;align-items:center}.footer-logo{height:40px;width:auto}.footer-right{display:flex;flex-direction:column;align-items:flex-end;gap:1rem}.footer-links{display:flex;gap:2rem}.footer-link{color:#6c757d;text-decoration:none;font-size:.9rem;transition:color .3s ease}.footer-link:hover{color:rgb(var(--color-blue));text-decoration:underline}.footer-copyright{color:#6c757d;font-size:.8rem}@media (max-width: 767px){.footer-content{flex-direction:column;gap:1.5rem;text-align:center;padding:0 1rem}.footer-right{align-items:center}.footer-links{gap:1.5rem}.footer-logo{height:32px}}
