.contact-page{padding:100px 0 80px;.contact-inner{width:var(--width-auto);margin:0 auto}.contact-page-title{margin-bottom:var(--space-3);h1{font-size:2rem;font-weight:var(--font-weight-medium);color:var(--text-main);margin:0 0 8px}p{font-size:var(--font-size-sm);color:var(--text-muted);margin:0}}.contact-form{background:var(--bg-surface);border-radius:var(--radius-xl);padding:var(--space-3);box-shadow:var(--shadow-sm);@media(max-width:480px){padding:24px 16px}.form-row{display:flex;align-items:flex-start;gap:24px;padding:24px 0;&:first-child{padding-top:0}&:last-of-type{padding-bottom:0}@media(max-width:480px){flex-direction:column;gap:8px}.form-label{flex:0 0 200px;padding-top:10px;position:relative;label{font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--text-main);display:block}&.required label:after{content:"必須";font-size:var(--font-size-xs);color:var(--white);background:var(--color-theme);border-radius:var(--radius-sm);padding:3px 5px;margin-left:8px;vertical-align:middle;line-height:1;display:inline-block;margin-top:-2px}@media(max-width:480px){flex:none;padding-top:0}}.form-input{flex:1;min-width:0;@media(max-width:480px){width:100%}input[type=text],input[type=email],input[type=tel],textarea,select{width:100%;min-height:44px;padding:12px 16px;font-size:var(--font-size-base);font-family:inherit;color:var(--text-main);background:var(--secondback);border:none;border-radius:var(--radius-md);outline:none;transition:outline var(--transition-fast),background var(--transition-fast),all .3s;appearance:none;-webkit-appearance:none;outline:2px solid #0000;outline-offset:8px;&::placeholder{color:var(--text-muted);opacity:.8}&:focus{outline:2px solid var(--color-theme);outline-offset:2px}}textarea{min-height:140px;resize:vertical;line-height:var(--line-height-base)}.select-wrapper{position:relative;&:after{content:"";position:absolute;right:14px;top:50%;transform:translateY(-50%);width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid var(--text-muted);pointer-events:none}select{padding-right:36px;cursor:pointer}}}}.conditional-field{display:none;&.visible{display:flex}}.consent-note{margin-top:24px;font-size:var(--font-size-xs);color:var(--text-muted);line-height:var(--line-height-base)}.form-submit{margin-top:32px;text-align:right;.submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 48px;font-size:var(--font-size-base);font-weight:var(--font-weight-medium);font-family:inherit;color:var(--white);background:var(--color-theme);border:none;border-radius:var(--radius-lg);cursor:pointer;transition:background var(--transition-fast),opacity var(--transition-fast),transform var(--transition-fast),all .3s;min-width:200px;outline:2px solid #0000;outline-offset:8px;&:hover:not(:disabled){opacity:.85;outline:2px solid var(--color-theme);outline-offset:2px}&:active:not(:disabled){outline:2px solid #0000;outline-offset:8px}&:disabled{background:var(--thirdback);color:var(--text-muted);cursor:not-allowed;opacity:.7}.spinner{display:none;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:var(--white);border-radius:var(--radius-circle);animation:spin .7s linear infinite}&.loading{pointer-events:none;.spinner{display:block}.btn-text{display:none}.btn-loading-text{display:inline}}.btn-loading-text{display:none}}}}}@keyframes spin{to{transform:rotate(360deg)}}.contact-complete{padding:100px 0 80px;display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 60px);.complete-inner{width:var(--width-auto);margin:0 auto;text-align:center}.complete-icon{width:72px;height:72px;margin:0 auto 24px;background:rgba(var(--color-theme-rgb),.1);border-radius:var(--radius-circle);display:flex;align-items:center;justify-content:center;svg{width:36px;height:36px;color:var(--color-theme)}}h1{font-size:var(--font-size-2xl);font-weight:var(--font-weight-medium);color:var(--text-main);margin:0 0 12px}.complete-message{font-size:var(--font-size-sm);color:var(--text-muted);line-height:1.8;margin:0 0 32px}.back-link{display:inline-flex;align-items:center;gap:6px;padding:12px 32px;font-size:var(--font-size-sm);font-weight:var(--font-weight-medium);color:var(--color-theme);background:rgba(var(--color-theme-rgb),.08);border:none;border-radius:var(--radius-lg);text-decoration:none;transition:background var(--transition-fast);&:hover{background:rgba(var(--color-theme-rgb),.15);text-decoration:none}}}
