.contact-form{background:linear-gradient(180deg,#fff,#f8f9fa);opacity:0;overflow:hidden;padding:60px 0;position:relative;transform:translateY(20px);transition:all .6s ease-out}.contact-form.visible{opacity:1;transform:translateY(0)}.contact-form:before{background:linear-gradient(90deg,transparent,rgba(0,122,255,.2) 25%,rgba(0,122,255,.3) 50%,rgba(0,122,255,.2) 75%,transparent);content:"";height:1px;left:0;position:absolute;right:0;top:0}.form-container{background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,122,255,.08);height:0;margin:0 auto;max-width:1200px;overflow:hidden;padding:0 20px;padding-bottom:150%;position:relative;width:100%}.form-container iframe{border:none;border-radius:16px;height:100%;left:0;position:absolute;top:0;width:100%}@media (min-width:1440px){.contact-form{padding:80px 0}.form-container{max-width:1000px;padding-bottom:100%}}@media (min-width:1024px) and (max-width:1439px){.form-container{max-width:900px;padding-bottom:110%}}@media (min-width:769px) and (max-width:1023px){.form-container{max-width:750px;padding-bottom:120%}}@media (min-width:481px) and (max-width:768px){.contact-form{padding:40px 0}.form-container{padding-bottom:140%;padding-left:15px;padding-right:15px}.form-container,.form-container iframe{border-radius:12px}}@media (min-width:376px) and (max-width:480px){.contact-form{padding:30px 0}.form-container{box-shadow:0 5px 20px rgba(0,122,255,.06);padding-bottom:160%;padding-left:10px;padding-right:10px}.form-container,.form-container iframe{border-radius:8px}}@media (max-width:375px){.contact-form{padding:20px 0}.form-container{box-shadow:0 5px 20px rgba(0,122,255,.06);padding-bottom:180%;padding-left:10px;padding-right:10px}.form-container,.form-container iframe{border-radius:8px}}@media (max-width:768px){.form-container.scrollable{height:80vh;max-height:800px;overflow-y:auto;padding-bottom:0;-webkit-overflow-scrolling:touch}.form-container.scrollable iframe{height:auto;min-height:1200px;position:relative}}.form-container:after{animation:fadeIn .5s ease .5s forwards;color:#999;content:"フォームを読み込み中...";font-size:14px;left:50%;opacity:0;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:-1}@keyframes fadeIn{to{opacity:1}}@media (prefers-reduced-motion:reduce){.contact-form{transition:none}.form-container:after{animation:none;opacity:1}}@media print{.contact-form{display:none}}