.contact-page,.contact-page *,.contact-page :before,.contact-page :after{box-sizing:border-box;margin:0;padding:0}.contact-page{--ct-bg:#fff;--ct-soft:#f7f6f3;--ct-ink:#0e0e12;--ct-gray:#6b6b72;--ct-line:#e8e6e0;--ct-c1:#f66f7d;--ct-c2:#ffc272;--ct-c3:#4bc887;--ct-c4:#27b8ce;background:var(--ct-bg);color:var(--ct-ink);font-family:var(--font-outfit),var(--font-noto-sans-jp),sans-serif;-webkit-font-smoothing:antialiased}.contact-page #nav{-webkit-backdrop-filter:blur(20px);z-index:100;background:#ffffffd9;border:1px solid #0000000f;border-radius:999px;justify-content:space-between;align-items:center;width:calc(100% - 40px);max-width:1240px;padding:10px 14px 10px 22px;display:flex;position:fixed;top:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 32px #0000000d}.contact-page .nav-logo{align-items:center;gap:10px;text-decoration:none;display:flex}.contact-page .nav-logo img{width:auto;height:26px}.contact-page .nav-logo-aux{font-family:var(--font-outfit),sans-serif;letter-spacing:.16em;color:var(--ct-gray);border-left:1px solid #0e0e1226;padding-left:10px;font-size:.72rem;font-weight:400}.contact-page .nav-back{font-family:var(--font-outfit),var(--font-noto-sans-jp),sans-serif;color:var(--ct-ink);border:1.5px solid var(--ct-ink);white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:9px 18px;font-size:.78rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:inline-flex}.contact-page .nav-back:hover{background:var(--ct-ink);color:#fff}@media (max-width:600px){.contact-page #nav{padding:8px 10px 8px 16px}.contact-page .nav-logo img{height:22px}.contact-page .nav-logo-aux{display:none}.contact-page .nav-back{padding:7px 14px;font-size:.72rem}}.contact-page #contact-hero{z-index:5;padding:180px 44px 80px;position:relative}.contact-page .hero-inner{grid-template-columns:1.35fr .65fr;align-items:end;gap:60px;max-width:1100px;margin:0 auto;display:grid}.contact-page .hero-eyebrow{font-family:var(--font-outfit),sans-serif;letter-spacing:.28em;text-transform:uppercase;color:var(--ct-c4);align-items:center;gap:12px;margin-bottom:24px;font-size:.72rem;font-weight:600;display:inline-flex}.contact-page .hero-eyebrow:before{content:"";background:var(--ct-c4);width:32px;height:1px}.contact-page .hero-h1{font-family:var(--font-outfit),sans-serif;letter-spacing:-.03em;color:var(--ct-ink);word-break:keep-all;overflow-wrap:normal;font-size:clamp(2.2rem,4.8vw,4.2rem);font-weight:900;line-height:1.05}.contact-page .hero-h1 .hl{white-space:nowrap;background:linear-gradient(120deg,#f66f7d 0%,#ffc272 35%,#4bc887 65%,#27b8ce 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;display:inline-block}.contact-page .hero-lead{font-family:var(--font-noto-sans-jp),sans-serif;color:var(--ct-gray);max-width:38ch;font-size:clamp(.9rem,1.05vw,1rem);line-height:2.1}@media (max-width:900px){.contact-page .hero-inner{grid-template-columns:1fr;gap:28px}.contact-page #contact-hero{padding:130px 20px 60px}}.contact-page #contact-form-section{z-index:5;padding:60px 44px 100px;position:relative}.contact-page .form-inner{max-width:780px;margin:0 auto}@media (max-width:900px){.contact-page #contact-form-section{padding:40px 20px 80px}}.contact-page .contact-form{-webkit-backdrop-filter:blur(14px)saturate(140%);background:#ffffffb3;border:1px solid #0e0e120f;border-radius:28px;padding:48px;box-shadow:0 24px 60px -20px #00000014}@media (max-width:900px){.contact-page .contact-form{border-radius:20px;padding:28px 20px}}.contact-page .form-row{gap:24px;margin-bottom:24px;display:grid}.contact-page .form-row.cols-2{grid-template-columns:1fr 1fr}@media (max-width:600px){.contact-page .form-row.cols-2{grid-template-columns:1fr}}.contact-page .field{flex-direction:column;gap:8px;display:flex;position:relative}.contact-page .field label{font-family:var(--font-noto-sans-jp),sans-serif;letter-spacing:.04em;color:var(--ct-ink);align-items:center;gap:8px;font-size:.78rem;font-weight:700;display:flex}.contact-page .field label .req{font-family:var(--font-outfit),sans-serif;letter-spacing:.18em;color:#fff;background:var(--ct-c1);border-radius:999px;padding:2px 8px;font-size:.55rem;font-weight:700}.contact-page .field label .opt{font-family:var(--font-outfit),sans-serif;letter-spacing:.18em;color:var(--ct-gray);background:#0000000a;border-radius:999px;padding:2px 8px;font-size:.55rem;font-weight:600}.contact-page .field input,.contact-page .field textarea,.contact-page .field select{font-family:var(--font-outfit),var(--font-noto-sans-jp),sans-serif;border:1.5px solid var(--ct-line);color:var(--ct-ink);background:#ffffffd9;border-radius:12px;width:100%;padding:14px 16px;font-size:.95rem;transition:border-color .25s,background .25s,box-shadow .25s}.contact-page .field input:focus,.contact-page .field textarea:focus,.contact-page .field select:focus{border-color:var(--ct-c4);background:#fff;outline:none;box-shadow:0 0 0 4px #27b8ce1f}.contact-page .field textarea{resize:vertical;min-height:160px;line-height:1.7}.contact-page .type-pills{flex-wrap:wrap;gap:8px;display:flex}.contact-page .type-pills input{display:none}.contact-page .type-pills label{font-family:var(--font-noto-sans-jp),sans-serif;border:1.5px solid var(--ct-line);cursor:pointer;background:#ffffffb3;border-radius:999px;padding:8px 16px;font-size:.82rem;font-weight:600;transition:background .2s,color .2s,border-color .2s,transform .2s;display:inline-flex}.contact-page .type-pills input:checked+label{background:var(--ct-ink);color:#fff;border-color:var(--ct-ink);transform:translateY(-1px)}.contact-page .type-pills label:hover{border-color:var(--ct-ink)}.contact-page .consent{font-family:var(--font-noto-sans-jp),sans-serif;color:var(--ct-gray);align-items:flex-start;gap:10px;margin-top:10px;font-size:.84rem;line-height:1.7;display:flex}.contact-page .consent input{width:18px;height:18px;accent-color:var(--ct-c4);margin-top:2px}.contact-page .consent a{color:var(--ct-ink);text-underline-offset:3px;text-decoration:underline}.contact-page .hp-field{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.contact-page .submit-row{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:16px;margin-top:28px;display:flex}.contact-page .submit-btn{color:#fff;cursor:pointer;font-family:var(--font-noto-sans-jp),sans-serif;background:linear-gradient(120deg,#f8909a 0%,#ffd29a 33%,#7dd6a6 66%,#6dcddb 100%);border:none;border-radius:999px;align-items:center;gap:14px;padding:18px 32px;font-size:.95rem;font-weight:700;transition:transform .3s,filter .3s,box-shadow .3s;display:inline-flex;box-shadow:0 16px 44px -8px #f66f7d59,0 8px 24px -4px #27b8ce4d}.contact-page .submit-btn:hover:not(:disabled){filter:brightness(1.05);transform:translateY(-2px)}.contact-page .submit-btn:disabled{opacity:.55;cursor:not-allowed}.contact-page .submit-btn i{background:#ffffff38;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.95rem;font-style:normal;transition:transform .3s,background .3s;display:inline-flex}.contact-page .submit-btn:hover:not(:disabled) i{background:#ffffff57;transform:rotate(45deg)}.contact-page .cooldown-hint{font-family:var(--font-noto-sans-jp),sans-serif;color:var(--ct-gray);font-size:.78rem}.contact-page .status-message{font-family:var(--font-noto-sans-jp),sans-serif;border-radius:12px;margin-top:24px;padding:16px 20px;font-size:.9rem;line-height:1.7}.contact-page .status-message.success{color:#177148;background:#4bc8871f;border:1px solid #4bc88766}.contact-page .status-message.error{color:#a12734;background:#f66f7d1f;border:1px solid #f66f7d66}.contact-page #ct-footer{z-index:5;background:var(--ct-bg);border-top:1px solid var(--ct-line);padding:60px 44px 28px;position:relative}.contact-page .ct-foot-inner{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:24px;max-width:1240px;margin:0 auto;display:flex}.contact-page .ct-foot-inner img{width:auto;height:26px}.contact-page .ct-foot-copy{font-family:var(--font-outfit),sans-serif;letter-spacing:.08em;color:var(--ct-gray);font-size:.7rem}.contact-page .ct-foot-back-home{font-family:var(--font-noto-sans-jp),sans-serif;color:var(--ct-ink);align-items:center;gap:8px;font-size:.82rem;font-weight:600;text-decoration:none;display:inline-flex}.contact-page .ct-foot-back-home:hover{color:var(--ct-c4)}@media (max-width:600px){.contact-page #ct-footer{padding:40px 20px 20px}.contact-page .ct-foot-inner{flex-direction:column;align-items:flex-start}}
