@charset "UTF-8";.page-hero.contact-hero:before{content:"CONTACT"}.contact-form-section{padding:8rem 0;background:#fff}.contact-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:6rem;align-items:flex-start}.contact-form-area{position:relative}.contact-form-intro{margin-bottom:3rem}.contact-form-title{font-size:2.5rem;font-weight:900;line-height:1.3;margin-bottom:1.5rem;color:var(--c-navy)}.contact-form-desc{font-size:1rem;line-height:1.8;color:#666}.contact-form{position:relative}.form-row{margin-bottom:2rem}.form-group{position:relative}.form-label{display:block;font-size:.95rem;font-weight:700;color:var(--c-navy);margin-bottom:.8rem}.form-label .required{display:inline-block;font-size:.75rem;font-weight:700;color:#fff;background-color:#e74c3c;padding:.2rem .6rem;border-radius:3px;margin-left:.5rem}.form-label .optional{display:inline-block;font-size:.75rem;font-weight:700;color:#999;background-color:#f0f0f0;padding:.2rem .6rem;border-radius:3px;margin-left:.5rem}.form-input,.form-select,.form-textarea{width:100%;padding:1rem 1.5rem;font-size:1rem;font-family:'Noto Sans JP',sans-serif;color:#333;background-color:#f8f8f8;border:2px solid #f8f8f8;border-radius:8px;transition:all .3s ease;outline:none}.form-input:focus,.form-select:focus,.form-textarea:focus{background-color:#fff;border-color:var(--c-cyan);box-shadow:0 0 0 3px rgba(0,212,255,.1)}.form-input::placeholder,.form-textarea::placeholder{color:#999}.form-select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23666' d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.5rem center;background-size:12px}.form-textarea{resize:vertical;min-height:150px}.form-privacy{margin:2.5rem 0}.privacy-checkbox{display:flex;align-items:center;cursor:pointer;user-select:none}.privacy-checkbox input[type=checkbox]{width:20px;height:20px;margin-right:.8rem;cursor:pointer;accent-color:var(--c-cyan)}.privacy-text{font-size:.95rem;color:#666}.privacy-text a{color:var(--c-cyan);text-decoration:underline;transition:opacity .3s ease}.privacy-text a:hover{opacity:.7}.form-submit-btn{display:inline-flex;align-items:center;justify-content:center;gap:1rem;width:100%;padding:1.3rem 3rem;font-family:'Montserrat',sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.05em;color:#fff;background:linear-gradient(135deg,var(--c-navy) 0%,#0d2847 100%);border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(11,28,60,.3)}.form-submit-btn i{font-size:1.3rem;transition:transform .3s ease}.form-submit-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(11,28,60,.4)}.form-submit-btn:hover i{transform:translateX(5px)}.form-submit-btn:active{transform:translateY(0)}.contact-info-area{position:sticky;top:120px}.contact-info-card{background:#f8f8f8;padding:2.5rem;border-radius:12px;margin-bottom:2rem;transition:all .3s ease}.contact-info-card:hover{background:#f0f0f0;transform:translateY(-2px)}.contact-info-title{font-size:1.1rem;font-weight:700;color:var(--c-navy);margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e0e0e0}.contact-info-item{display:flex;gap:1.5rem;align-items:flex-start}.contact-info-item i{font-size:2rem;color:var(--c-cyan);flex-shrink:0;margin-top:.2rem}.contact-info-content{flex:1}.contact-info-label{font-family:'Montserrat',sans-serif;font-size:.75rem;font-weight:700;letter-spacing:.1em;color:#999;margin-bottom:.5rem}.contact-info-value{font-size:1.1rem;font-weight:700;color:var(--c-navy);margin-bottom:.5rem}.contact-info-value a{color:var(--c-navy);text-decoration:none;transition:color .3s ease}.contact-info-value a:hover{color:var(--c-cyan)}.contact-info-note{font-size:.85rem;color:#666;line-height:1.6}.contact-social-links{display:flex;flex-direction:column;gap:1rem}.contact-social-link{display:flex;align-items:center;gap:1rem;padding:1rem 1.5rem;background:#fff;border-radius:8px;text-decoration:none;color:var(--c-navy);transition:all .3s ease}.contact-social-link i{font-size:1.5rem;color:var(--c-cyan)}.contact-social-link span{font-size:.95rem;font-weight:600}.contact-social-link:hover{background:var(--c-cyan);color:#fff;transform:translateX(5px)}.contact-social-link:hover i{color:#fff}@media (max-width:1024px){.contact-grid{grid-template-columns:1fr;gap:4rem}.contact-info-area{position:relative;top:0;display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem}.contact-info-card{margin-bottom:0}}@media (max-width:768px){.contact-form-section{padding:5rem 0}.contact-form-title{font-size:2rem}.contact-info-area{grid-template-columns:1fr}.contact-info-card{padding:2rem}.form-submit-btn{padding:1.2rem 2.5rem;font-size:1rem}}@media (max-width:480px){.contact-form-title{font-size:1.6rem}.contact-form-desc{font-size:.9rem}.form-label{font-size:.85rem}.form-input,.form-select,.form-textarea{padding:.9rem 1.2rem;font-size:.95rem}}.contact-form-wrapper{position:relative}.wpcf7{margin:0;padding:0}.wpcf7-form{margin:0}.wpcf7-form label{display:block;font-size:.95rem;font-weight:700;color:var(--c-navy);margin-bottom:.8rem}.wpcf7-form .required-badge{display:inline-block;font-size:.75rem;font-weight:700;color:#fff;background-color:#e74c3c;padding:.2rem .6rem;border-radius:3px;margin-left:.5rem}.wpcf7-form .optional-badge{display:inline-block;font-size:.75rem;font-weight:700;color:#999;background-color:#f0f0f0;padding:.2rem .6rem;border-radius:3px;margin-left:.5rem}.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance){width:100%;padding:1rem 1.5rem;font-size:1rem;font-family:'Noto Sans JP',sans-serif;color:#333;background-color:#f8f8f8;border:2px solid #f8f8f8;border-radius:8px;transition:all .3s ease;outline:none;box-sizing:border-box}.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance):focus{background-color:#fff;border-color:var(--c-cyan);box-shadow:0 0 0 3px rgba(0,212,255,.1)}.wpcf7-form-control::placeholder{color:#999}.wpcf7-form select.wpcf7-form-control{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16'%3E%3Cpath fill='%23666' d='M8 11L3 6h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.5rem center;background-size:12px}.wpcf7-form textarea.wpcf7-form-control{resize:vertical;min-height:150px}.wpcf7-form p{margin-bottom:2rem}.wpcf7-form .wpcf7-acceptance{margin:2.5rem 0}.wpcf7-form .wpcf7-list-item{margin:0}.wpcf7-form .wpcf7-acceptance input[type=checkbox]{width:20px;height:20px;margin-right:.8rem;cursor:pointer;accent-color:var(--c-cyan);vertical-align:middle}.wpcf7-form .wpcf7-acceptance .wpcf7-list-item-label{font-size:.95rem;color:#666;vertical-align:middle}.wpcf7-form .wpcf7-acceptance a{color:var(--c-cyan);text-decoration:underline;transition:opacity .3s ease}.wpcf7-form .wpcf7-acceptance a:hover{opacity:.7}.wpcf7-form .wpcf7-submit{display:inline-flex;align-items:center;justify-content:center;gap:1rem;width:100%;padding:1.3rem 3rem;font-family:'Montserrat',sans-serif;font-size:1.1rem;font-weight:700;letter-spacing:.05em;color:#fff;background:linear-gradient(135deg,var(--c-navy) 0%,#0d2847 100%);border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(11,28,60,.3)}.wpcf7-form .wpcf7-submit:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(11,28,60,.4)}.wpcf7-form .wpcf7-submit:active{transform:translateY(0)}.wpcf7-form .wpcf7-submit:disabled{opacity:.6;cursor:not-allowed}.wpcf7-not-valid-tip{display:block;color:#e74c3c;font-size:.85rem;margin-top:.5rem}.wpcf7-not-valid{border-color:#e74c3c !important}.wpcf7-response-output{margin:2rem 0 0 !important;padding:1.5rem !important;border-radius:8px !important;font-size:.95rem;text-align:center}.wpcf7-mail-sent-ok,.wpcf7 form.sent .wpcf7-response-output{border:2px solid #27ae60 !important;background-color:#d4edda !important;color:#155724 !important}.wpcf7-mail-sent-ng,.wpcf7 form.failed .wpcf7-response-output,.wpcf7 form.aborted .wpcf7-response-output{border:2px solid #e74c3c !important;background-color:#f8d7da !important;color:#721c24 !important}.wpcf7-validation-errors,.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.unaccepted .wpcf7-response-output{border:2px solid #f39c12 !important;background-color:#fff3cd !important;color:#856404 !important}.wpcf7-spinner{display:block;margin:1rem auto 0}@media (max-width:768px){.wpcf7-form .wpcf7-submit{padding:1.2rem 2.5rem;font-size:1rem}}@media (max-width:480px){.wpcf7-form label{font-size:.85rem}.wpcf7-form-control:not(.wpcf7-submit):not(.wpcf7-acceptance){padding:.9rem 1.2rem;font-size:.95rem}}.contact-modal{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.7);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:all .3s ease;padding:20px;box-sizing:border-box}.contact-modal.active{opacity:1;visibility:visible}.modal-content{background:#fff;border-radius:16px;max-width:700px;width:100%;max-height:90vh;overflow:hidden;transform:translateY(20px);transition:transform .3s ease;display:flex;flex-direction:column}.contact-modal.active .modal-content{transform:translateY(0)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0;background:#f8f9fa}.modal-title{font-size:1.3rem;font-weight:700;color:var(--c-navy);margin:0}.modal-close{width:40px;height:40px;border:none;background:0 0;cursor:pointer;position:relative;border-radius:50%;transition:background .3s ease}.modal-close:hover{background:#e0e0e0}.modal-close:before,.modal-close:after{content:'';position:absolute;top:50%;left:50%;width:20px;height:2px;background:#666;transform-origin:center}.modal-close:before{transform:translate(-50%,-50%) rotate(45deg)}.modal-close:after{transform:translate(-50%,-50%) rotate(-45deg)}.modal-body{padding:2rem;overflow-y:auto;flex:1}.confirm-list{display:flex;flex-direction:column;gap:1.5rem}.confirm-item{border-bottom:1px solid #f0f0f0;padding-bottom:1.5rem}.confirm-item:last-child{border-bottom:none;padding-bottom:0}.confirm-label{font-size:.85rem;font-weight:700;color:#888;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.05em}.confirm-value{font-size:1rem;color:#333;line-height:1.8;word-break:break-word}.modal-footer{display:flex;gap:1rem;padding:1.5rem 2rem;border-top:1px solid #e0e0e0;background:#f8f9fa}.modal-btn{flex:1;padding:1rem 2rem;font-size:1rem;font-weight:700;border-radius:50px;cursor:pointer;transition:all .3s ease;text-align:center;border:none}.modal-btn-back{background:#e0e0e0;color:#666}.modal-btn-back:hover{background:#d0d0d0}.modal-btn-submit{background:linear-gradient(135deg,var(--c-navy) 0%,#0d2847 100%);color:#fff;box-shadow:0 4px 15px rgba(11,28,60,.3)}.modal-btn-submit:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(11,28,60,.4)}.thanks-content{text-align:center;padding:3rem 2rem}.thanks-icon{width:80px;height:80px;background:linear-gradient(135deg,#27ae60 0%,#2ecc71 100%);border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 2rem;animation:scaleIn .5s ease}@keyframes scaleIn{0%{transform:scale(0);opacity:0}50%{transform:scale(1.1)}100%{transform:scale(1);opacity:1}}.thanks-icon svg{width:40px;height:40px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.thanks-icon svg path{stroke-dasharray:50;stroke-dashoffset:50;animation:checkmark .5s ease .3s forwards}@keyframes checkmark{to{stroke-dashoffset:0}}.thanks-title{font-size:1.8rem;font-weight:700;color:var(--c-navy);margin-bottom:1rem}.thanks-message{font-size:1rem;color:#666;line-height:1.8;margin-bottom:2rem}.thanks-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:1rem 3rem;font-size:1rem;font-weight:700;color:#fff;background:linear-gradient(135deg,var(--c-navy) 0%,#0d2847 100%);border:none;border-radius:50px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px rgba(11,28,60,.3)}.thanks-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px rgba(11,28,60,.4)}@media (max-width:768px){.contact-modal{padding:15px}.modal-header{padding:1.2rem 1.5rem}.modal-title{font-size:1.1rem}.modal-body{padding:1.5rem}.modal-footer{flex-direction:column-reverse;padding:1.2rem 1.5rem}.thanks-content{padding:2rem 1.5rem}.thanks-title{font-size:1.5rem}.thanks-message{font-size:.95rem}}@media (max-width:480px){.modal-content{max-height:95vh}.confirm-label{font-size:.8rem}.confirm-value{font-size:.95rem}.modal-btn{padding:.9rem 1.5rem;font-size:.95rem}.thanks-icon{width:60px;height:60px}.thanks-icon svg{width:30px;height:30px}}