.contact-main{min-height:100vh;color:#e4e4ed}.contact-shell{max-width:1440px}.contact-hero-section{position:relative;width:100%;background:transparent}.contact-hero-frame{position:relative;width:100%;height:clamp(220px,36vw,320px);border-radius:24px;overflow:hidden;margin-top:16px}.seamless-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:opacity .6s linear}.seamless-video.is-front{opacity:1}.seamless-video.is-back{opacity:0}.contact-hero-shade-horizontal{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.7) 0,rgba(0,0,0,.3) 60%,rgba(0,0,0,0));pointer-events:none}.contact-hero-shade-vertical{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45) 0,rgba(0,0,0,.15) 22%,rgba(0,0,0,0) 50%);pointer-events:none}.site-header-bar{top:clamp(16px,4vw,40px);left:clamp(16px,4vw,40px);right:clamp(16px,4vw,40px);z-index:5}.site-header-logo{width:clamp(80px,12vw,110px)}.site-header-link{font-family:Roboto Mono,monospace;font-size:18px;color:#fff;line-height:1.6;text-shadow:0 0 10px rgba(0,0,0,.58)}.contact-hero-heading{bottom:clamp(24px,4vw,56px);left:clamp(20px,5vw,60px);right:clamp(20px,5vw,60px)}.contact-hero-title{font-family:Noto Sans JP,sans-serif;font-weight:400;font-size:clamp(20px,4vw,36px);color:#fff;margin:0;line-height:1.3}.contact-breadcrumb{font-family:Roboto Mono,monospace;font-size:12px;color:#777}.contact-breadcrumb-separator{margin:0 8px}.contact-breadcrumb-current{color:#aaa}.contact-cross-marks{color:#3a3a3a}.contact-lead-text{font-family:Noto Sans JP,sans-serif;font-size:14px;color:#ccc;margin:0}.contact-form-column{max-width:720px}.js-form-reveal{opacity:0;transform:translateY(20px);transition:opacity .5s cubic-bezier(.22,.61,.36,1),transform .5s cubic-bezier(.22,.61,.36,1)}.js-form-reveal.is-visible{opacity:1;transform:translateY(0)}.form-required-badge{display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#002a72,#00c3ff);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:3px;letter-spacing:.04em}.form-field-label{font-size:15px;font-weight:500;color:#fff}.form-field-label,.form-field-note{font-family:Noto Sans JP,sans-serif}.form-field-note{font-size:12px;color:#888}.form-text-input{width:100%;background:#1a1a1a;border:1px solid #2a2a2a;border-radius:6px;padding:14px 16px;color:#fff;font-family:Noto Sans JP,sans-serif;font-size:15px;outline:none;transition:border-color .2s ease}.form-select{color-scheme:dark}.form-textarea{resize:vertical;min-height:120px}.form-slot-date{color-scheme:dark;flex:1;min-width:0;width:auto}.form-slot-date::-webkit-calendar-picker-indicator{filter:none}.form-slot-time{color-scheme:dark;flex-shrink:0;width:auto}.slot-rank-label{font-family:Noto Sans JP,sans-serif;font-size:13px;font-weight:700;color:#ffffff;letter-spacing:.04em;min-width:64px}.form-error-text{color:#ff7a7a;font-size:12px}.form-submit-button{width:100%;max-width:300px;height:52px;background:linear-gradient(90deg,#002a72,#00c3ff);border:none;cursor:pointer;opacity:1}.form-submit-button:disabled{cursor:not-allowed;opacity:.7}.form-submit-texture{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.5;mix-blend-mode:overlay;pointer-events:none}.form-submit-label{position:relative;font-weight:700;font-size:16px;color:#fff}.form-status,.form-submit-label{font-family:Noto Sans JP,sans-serif}.form-status{padding:12px 16px;border-radius:6px;font-size:13px}.form-status.is-success{background:rgba(0,195,255,.1);border:1px solid rgba(0,195,255,.4);color:#9be8ff}.form-status.is-error{background:rgba(255,70,70,.1);border:1px solid rgba(255,70,70,.4);color:#ffa0a0}.form-privacy-note{font-family:Noto Sans JP,sans-serif;font-size:12px;color:#888;line-height:1.7;margin:0}.form-privacy-link{color:#aaa;text-decoration:underline}.form-consent-label{font-family:Noto Sans JP,sans-serif;font-size:13px;color:#ccc;line-height:1.7;cursor:pointer}.form-consent-checkbox{flex-shrink:0;width:16px;height:16px;margin-top:3px;accent-color:#00c3ff}.faq-heading{font-family:Noto Sans JP,sans-serif;font-weight:700;font-size:clamp(28px,5vw,40px);color:#fff;line-height:1.2}.faq-item{border-bottom:1px solid #2a2a2a}.faq-question{background:none;border:none;cursor:pointer;color:#fff}.faq-question-text{font-family:Noto Sans JP,sans-serif;font-size:15px;font-weight:400;line-height:1.6}.faq-question-mark{color:#aaa;font-weight:500;flex-shrink:0}.faq-chevron{flex-shrink:0;transition:transform .25s ease}.faq-item.is-open .faq-chevron{transform:rotate(180deg)}.faq-answer{height:0;opacity:0;overflow:hidden;transition:height .3s cubic-bezier(.22,.61,.36,1),opacity .3s cubic-bezier(.22,.61,.36,1)}.faq-answer-text{font-family:Noto Sans JP,sans-serif;font-size:14px;color:#bbb;line-height:1.8}