.contact-modal-overlay{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;background:#00000080;opacity:0;visibility:hidden;transition:opacity .3s ease,visibility .3s ease}.contact-modal-overlay.is-active{opacity:1;visibility:visible}.contact-modal{background:#fff;border-radius:16px;padding:48px 32px 36px;max-width:600px;width:90%;text-align:center;transform:translateY(20px);transition:transform .3s ease}.contact-modal-overlay.is-active .contact-modal{transform:translateY(0)}.contact-modal__text{font-family:var(--ff-jp);font-size:1.2rem;line-height:1.8;color:#222;margin:0 0 2.5rem}.contact-modal__close{display:inline-block;font-family:var(--ff-jp);font-size:14px;font-weight:400;color:#fff;background:#202020;border:none;cursor:pointer;padding:10px 32px;line-height:1;transition:opacity .3s ease}.contact-modal__close:hover{opacity:.8}.contact-body-inner{width:100%}.contact-body{background-color:#fff}.contact-form-bg{background-color:#ebebeb}.c-textfield-button-wrap{margin-top:60px}[data-form="01"]{max-width:320px}.form-group .c-textfield{border:none;background-color:#ebebeb;padding-inline:20px;padding-block:16px;width:100%}.form-group select.c-textfield{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23333' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 20px center;padding-right:48px}.contact-form-wrapper{margin-inline:auto;display:flex;justify-content:center}@media(min-width:768px){.contact-form-wrapper{width:calc(970 / 1200 * 100%);margin-inline:auto;display:flex;justify-content:center}}.contact-form{max-width:600px;margin-inline:auto;width:100%;margin:var(--space-64) auto;padding:0 var(--space-24)}.form-group{margin-bottom:var(--space-32)}.form-group label{display:block;font-family:var(--ff-jp);font-size:var(--font-14);font-weight:500;color:#222;margin-bottom:var(--space-8)}.required{margin-left:2px}.form-group input,.form-group textarea{width:100%;padding:var(--space-12) var(--space-16);font-family:var(--ff-jp);font-size:var(--font-16);color:#202020;background:#fff;transition:border-color .3s ease;box-sizing:border-box}.form-group input::placeholder,.form-group textarea::placeholder{color:#999}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--cl-blue)}.form-group textarea{min-height:180px;resize:vertical;line-height:var(--leading-base)}#submit-button{display:block;width:100%;font-family:var(--ff-jp);font-size:14;font-weight:400;color:#fff;background:#202020;border:none;cursor:pointer;transition:opacity .3s ease;padding-block:12px;padding-inline:16px;width:max-content;margin-inline:auto;display:flex;justify-content:center;line-height:1}#submit-button:hover{opacity:.8}#submit-button:disabled{opacity:.5;cursor:not-allowed}.hidden{display:none}#error-message{margin-top:var(--space-24);padding:var(--space-16);background:#fef2f2;border:1px solid #fca5a5;border-radius:8px;color:#991b1b;font-family:var(--ff-jp);font-size:var(--font-14)}#error-list{margin-top:var(--space-8);padding-left:var(--space-16)}.l-wrapper{padding-inline:5vi;max-width:1200px;width:calc(1200 / 1440 * 100vw);margin-inline:auto;display:flex;justify-content:center;padding-block:40px}@media(min-width:768px){.l-wrapper{padding-block:80px}}.contact-form-bg{padding-block:70px}@media(min-width:768px){.contact-form-bg{padding-block:140px}}.contact-body{border-radius:10px;overflow:hidden}@media(min-width:768px){.contact-body{border-radius:28px}}.form-group+.form-group{margin-top:40px}.form-group label{margin-bottom:8px;font-size:14px}.contact-form-heading{display:flex;flex-direction:column;column-gap:25px;font-weight:400;font-family:var(--ff-jp2);margin-bottom:40px;margin-top:0}@media(min-width:768px){.contact-form-heading{display:flex;flex-direction:row;column-gap:25px;align-items:center;font-weight:400;font-family:var(--ff-jp2);margin-bottom:40px;margin-top:0}}.contact-form-intro{margin-bottom:40px}@media(min-width:768px){.contact-form-intro{margin-bottom:80px}}.contact-form-heading--lg{font-size:28px}@media(min-width:768px){.contact-form-heading--lg{font-size:36px}}.contact-form-heading--sm{font-size:20px}
