:root{--primary-color:#4a7c59;--secondary-color:#2c728f;--accent-color:#ff7e5f;--text-primary:#2d3748;--text-secondary:#4a5568;--text-muted:#718096;--required-color:#e53e3e;--bg-primary:#f7fafc;--bg-secondary:#edf2f7;--card-bg:rgba(255,255,255,0.95);--card-bg-hover:rgba(255,255,255,0.98);--shadow-sm:0 1px 3px 0 rgba(0,0,0,0.1),0 1px 2px 0 rgba(0,0,0,0.06);--shadow-md:0 4px 6px -1px rgba(0,0,0,0.1),0 2px 4px -1px rgba(0,0,0,0.06);--shadow-lg:0 10px 15px -3px rgba(0,0,0,0.1),0 4px 6px -2px rgba(0,0,0,0.05);--shadow-xl:0 20px 25px -5px rgba(0,0,0,0.1),0 10px 10px -5px rgba(0,0,0,0.04);--border-color:#e2e8f0;--border-focus:var(--primary-color);--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--transition-fast:all 0.15s ease;--transition-normal:all 0.3s ease;--transition-slow:all 0.5s ease}body{font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Hiragino Sans,Meiryo,sans-serif;line-height:1.6;color:var(--text-primary);background-color:var(--bg-primary);font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.contact-page-bg{min-height:100vh;background:url(/images/background03.png) 50%/cover no-repeat fixed;padding:2rem 0}.contact-container{max-width:780px;padding:20mm;margin:2rem auto 0}.header-card{background:var(--card-bg);backdrop-filter:blur(10px);border-radius:var(--radius-xl);padding:3rem 2rem;margin-bottom:3rem;text-align:center;box-shadow:var(--shadow-lg);border:1px solid rgba(255,255,255,.2);position:relative;overflow:hidden}.header-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--primary-color),var(--secondary-color),var(--accent-color))}.main-title{font-size:clamp(1.5rem,3.5vw,1.9rem);font-weight:700;color:var(--primary-color);margin-bottom:1rem;letter-spacing:-.025em;line-height:1.2}.subtitle{font-size:clamp(1rem,2.2vw,1.15rem);color:var(--secondary-color);margin-bottom:1.5rem;font-weight:500;line-height:1.3}.intro-text{color:var(--text-primary);font-size:clamp(.95rem,2vw,1.05rem);line-height:1.7;margin-bottom:1.5rem;max-width:700px;margin-left:auto;margin-right:auto}.highlight-text{background:linear-gradient(135deg,var(--accent-color),var(--primary-color));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600;font-size:1.1em}.required-notice{display:inline-flex;align-items:center;background:rgba(229,62,62,.1);color:var(--required-color);padding:.75rem 1.5rem;border-radius:2rem;font-size:.9rem;border:1px solid rgba(229,62,62,.2);font-weight:500}.required-mark{color:var(--required-color);font-weight:700;font-size:1.1em;margin-right:.25rem}.form-card{background:var(--card-bg);backdrop-filter:blur(10px);border-radius:var(--radius-lg);margin-bottom:1.5rem;box-shadow:var(--shadow-md);border:1px solid var(--border-color);overflow:hidden;transition:var(--transition-normal)}.form-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:rgba(74,124,89,.2)}.card-header{background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:white;padding:1.25rem 1.5rem;position:relative}.card-header h3{margin:0;font-size:1rem;font-weight:600;letter-spacing:.025em;line-height:1.2}.card-content{padding:1.5rem}.service-options{display:grid;grid-template-columns:repeat(2,1fr);gap:1.25rem;max-width:700px;margin:0 auto}.service-option-wrapper{position:relative;display:flex;flex-direction:column;align-items:center}.service-checkbox{position:absolute;top:-.75rem;left:50%;transform:translateX(-50%);width:1.5rem;height:1.5rem;accent-color:var(--primary-color);cursor:pointer;z-index:2;background:white;border-radius:50%;padding:.25rem;box-shadow:var(--shadow-sm)}.service-option{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;padding:1.25rem 1rem 1rem;background:rgba(255,255,255,.8);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition-normal);min-height:5.5rem;width:100%;max-width:320px}.service-option:hover{background:var(--card-bg-hover);border-color:var(--primary-color);transform:translateY(-4px);box-shadow:var(--shadow-sm)}.option-content{display:flex;flex-direction:column;gap:.25rem;width:100%}.option-title{font-weight:600;color:var(--primary-color);font-size:1.15rem;margin-bottom:.25rem}.option-desc,.option-title{text-align:center;width:100%}.option-desc{color:var(--text-muted);font-size:.9rem;font-style:italic;line-height:1.2}.symptoms-section{margin-bottom:30px}.section-label{display:block;font-weight:700;color:#2c3e50;margin-bottom:15px;font-size:1.1rem}.symptoms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px}.symptom-option{display:flex;align-items:center;gap:10px;cursor:pointer;padding:12px 15px;border:1px solid #e0e6ed;border-radius:8px;transition:all .3s ease;background:#fafbfc;min-height:60px}.symptom-option:hover{border-color:#667eea;background-color:#f8f9ff;transform:translateY(-1px);box-shadow:0 2px 4px rgba(102,126,234,.1)}.symptom-option input[type=checkbox]{width:16px;height:16px;accent-color:#667eea;flex-shrink:0;margin:0}.symptom-content{display:flex;flex-direction:column;gap:2px;flex:1}.symptom-title{font-weight:600;color:#2c3e50;font-size:.95rem;line-height:1.3}.symptom-desc{color:#7f8c8d;font-size:.8rem;line-height:1.2}.input-group{margin-bottom:1.5rem}.input-group label{display:block;color:var(--text-primary);margin-bottom:.5rem;font-weight:600;font-size:.95rem}.styled-input,.styled-textarea{width:100%;max-width:560px;padding:.875rem 1rem;border:2px solid var(--border-color);border-radius:var(--radius-md);font-size:.95rem;background:rgba(255,255,255,.9);transition:var(--transition-fast);box-sizing:border-box;font-family:inherit}.styled-input:focus,.styled-textarea:focus{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(74,124,89,.1);background:rgba(255,255,255,1)}.styled-input::placeholder,.styled-textarea::placeholder{color:var(--text-muted);font-style:italic}.styled-textarea{resize:vertical;min-height:6rem;line-height:1.5}.styled-textarea.large-textarea{max-width:838px}.error{color:#e74c3c;font-size:.9rem;margin-top:5px;display:flex;align-items:center;gap:5px}.error:before{content:"⚠";font-size:1rem}.schedule-notice{background:#fff3cd;border:1px solid #ffeaa7;border-radius:8px;padding:15px;margin-bottom:20px}.schedule-notice p{margin:5px 0;color:#856404;font-size:.9rem}.datetime-group{display:flex;flex-direction:column;gap:20px}.agreement-label{display:flex;align-items:center;gap:10px;cursor:pointer;padding:15px;border:2px solid #e0e6ed;border-radius:8px;transition:all .3s ease}.agreement-label:hover{border-color:#667eea;background-color:#f8f9ff}.agreement-text{flex:1;font-weight:600;color:#2c3e50}.agreement-label input[type=checkbox]{width:18px;height:18px;accent-color:#667eea}.submit-section{text-align:center;margin:2rem 0}.submit-button{display:inline-flex;align-items:center;justify-content:center;padding:1rem 2.5rem;font-size:1.1rem;font-weight:600;background:linear-gradient(135deg,var(--primary-color),var(--secondary-color));color:white;border:none;border-radius:2rem;cursor:pointer;transition:var(--transition-normal);text-decoration:none;box-shadow:var(--shadow-md);letter-spacing:.025em}.submit-button:hover:not(:disabled){background:linear-gradient(135deg,#3d6b4a,#245a73);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.submit-button:disabled{opacity:.6;cursor:not-allowed;transform:none}.footer-card{background:linear-gradient(135deg,rgba(74,124,89,.05),rgba(44,114,143,.05));padding:1.5rem;border-radius:var(--radius-lg);margin:1.5rem 0;text-align:center;border:1px solid rgba(74,124,89,.1);box-shadow:var(--shadow-sm)}.footer-card h3{margin-bottom:20px;font-size:1.3rem;color:var(--primary-color)}.footer-features{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}.feature-item{font-size:1rem;color:var(--text-primary);font-weight:500}.contact-info{border-top:1px solid rgba(255,255,255,.3);padding-top:20px}.contact-info p{margin:5px 0;font-size:1rem}.contact-info small{opacity:.8;font-size:.85rem}.error-card{background:#fee;border:1px solid #fcc;border-radius:8px;padding:15px;margin-bottom:20px;color:#c33}.success-card{background:white;border-radius:15px;padding:40px;text-align:center;box-shadow:0 4px 6px rgba(0,0,0,.1)}.success-icon{font-size:3rem;margin-bottom:20px}.success-card h2{color:#2c3e50;margin-bottom:20px;font-size:2rem}.success-message-text{color:#27ae60;font-size:1.1rem;margin-bottom:20px;font-weight:600}.success-details{background:#f8f9ff;border-radius:10px;padding:20px;margin-bottom:30px}.success-details p{color:#2c3e50;line-height:1.6;margin:0}.clinic-info-card{background:linear-gradient(135deg,rgba(74,124,89,.05),rgba(44,114,143,.05));border-radius:15px;padding:25px;margin-bottom:30px;border:1px solid rgba(74,124,89,.1);box-shadow:var(--shadow-sm)}.clinic-info-card h3{margin-bottom:15px;font-size:1.2rem;color:var(--primary-color)}.clinic-features{display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.clinic-features .feature-item{font-size:.95rem;color:var(--text-primary);font-weight:500}.back-button{background:#27ae60;color:white;border:none;padding:12px 30px;border-radius:25px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.back-button:hover{background:#229954;transform:translateY(-1px)}@media (max-width:1024px){.service-options{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.contact-container{padding:0 .75rem}.header-card{padding:2rem 1.5rem;margin-bottom:1.5rem}.main-title{font-size:1.3rem}.subtitle{font-size:1rem}.card-header{padding:1rem 1.25rem}.card-content{padding:1.25rem}.service-options{grid-template-columns:1fr}.service-option{min-height:5.5rem}.option-title{font-size:1rem}.option-desc{font-size:.75rem}.submit-button{width:100%;max-width:300px;padding:.875rem 2rem;font-size:1rem}.form-card,.input-group{margin-bottom:1.25rem}.symptoms-grid{grid-template-columns:1fr;gap:.5rem}.styled-input,.styled-textarea{max-width:none}}@media (max-width:480px){.header-card{padding:1.5rem 1rem}.card-content{padding:1rem}.agreement-label,.service-option,.symptom-option{min-height:2.75rem;padding:.625rem .875rem}.symptom-title{font-size:.9rem}.symptom-desc{font-size:.75rem}}