.contact-page{background:linear-gradient(90deg,#85949408 1px,transparent 1px),linear-gradient(180deg,#85949408 1px,transparent 1px),var(--color-bg);background-size:40px 40px;min-height:100vh;padding:120px 0 100px}.contact-hero,.contact-layout{width:min(1312px,100% - 48px);margin:0 auto}.contact-section-title{padding-left:24px;position:relative}.contact-section-title:before{content:"";background:var(--color-accent);width:4px;position:absolute;top:0;bottom:0;left:0}.contact-section-title h1{color:var(--color-text);letter-spacing:0;font-size:clamp(34px,4vw,48px);font-weight:700;line-height:1.2}.contact-section-title p{color:var(--color-text-muted);margin-top:4px;font-size:18px;line-height:1.6}.contact-layout{grid-template-columns:minmax(0,755px) minmax(360px,1fr);align-items:start;gap:24px;margin-top:44px;display:grid}.contact-primary{gap:56px;display:grid}.contact-panel{background:var(--color-bg-card);border:1px solid var(--color-border-soft);border-radius:4px;min-width:0;padding:48px;position:relative;overflow:hidden}.contact-panel-head{border-bottom:1px solid var(--color-border-soft);min-height:64px;margin-bottom:34px;position:relative}.contact-panel-head.compact{min-height:47px;margin-bottom:24px}.contact-panel-title{align-items:center;gap:12px;display:inline-flex}.contact-panel-title img{object-fit:contain;filter:brightness(0)saturate()invert(84%)sepia(87%)saturate(1407%)hue-rotate(139deg)brightness(103%)contrast(89%);width:20px;height:24px}.figma-flip-y{transform:scaleY(-1)}.contact-panel-title h2{color:var(--color-text-muted);letter-spacing:0;font-size:24px;font-weight:700;line-height:1.4}.contact-panel-mark{opacity:.7;pointer-events:none;width:96px;height:112px;position:absolute;top:-40px;right:12px}.contact-panel-mark-mail{filter:brightness(0)saturate()invert(84%)sepia(87%)saturate(1407%)hue-rotate(139deg)brightness(103%)contrast(89%)}.contact-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-field{gap:4px;margin-bottom:24px;display:grid}.form-honeypot{width:1px;height:1px;position:absolute;left:-9999px;overflow:hidden}.form-field span{color:var(--color-text-muted);letter-spacing:1.2px;text-transform:uppercase;font-size:12px;font-weight:500;line-height:1}.form-field input,.form-field select,.form-field textarea{width:100%;height:42px;color:var(--color-text-muted);background:#000;border:1px solid #6b7280;border-radius:0;outline:none;padding:8px 12px;font:400 16px/1.5 Inter,Noto Sans JP,sans-serif;transition:border-color .2s,box-shadow .2s}.form-field select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--color-accent)50%),linear-gradient(135deg,var(--color-accent)50%,transparent 50%);background-position:calc(100% - 16px) 18px,calc(100% - 11px) 18px;background-repeat:no-repeat;background-size:5px 5px,5px 5px;padding-right:36px}.form-field input::placeholder,.form-field textarea::placeholder{color:#6b7280}.date-input-wrap{display:block;position:relative}.date-input-wrap input[type=date]{padding-right:48px}.date-input-wrap input[type=date]::-webkit-calendar-picker-indicator{opacity:0}.date-picker-button{cursor:pointer;background:#101414;border:0;border-left:1px solid #6b7280;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,border-color .2s,box-shadow .2s;display:inline-flex;position:absolute;top:1px;right:1px}.date-picker-button img{filter:brightness(0)saturate()invert(84%)sepia(87%)saturate(1407%)hue-rotate(139deg)brightness(103%)contrast(89%);width:18px;height:18px}.date-input-wrap:focus-within .date-picker-button,.date-picker-button:hover{border-color:var(--color-accent);background:#47ebf11a;box-shadow:0 0 12px #47ebf12e}.form-field textarea{resize:vertical;white-space:pre-wrap;overflow-wrap:anywhere;min-height:128px}.form-field input:focus,.form-field select:focus,.form-field textarea:focus{border-color:var(--color-accent);box-shadow:0 0 0 2px #47ebf129}.form-field input.is-invalid,.form-field select.is-invalid,.form-field textarea.is-invalid{border-color:#ff6b6b;box-shadow:0 0 0 2px #ff6b6b29}.form-error-message{color:#ff8a8a!important;letter-spacing:0!important;text-transform:none!important;font-size:12px!important;line-height:1.5!important}.text-arrow-button{border:1px solid var(--color-accent);width:fit-content;height:48px;color:var(--color-accent);letter-spacing:.7px;text-transform:uppercase;white-space:nowrap;cursor:pointer;background:#47ebf11f;border-radius:12px;justify-content:center;align-items:center;margin-left:auto;padding:0 24px;font-family:Inter,Noto Sans JP,sans-serif;font-size:14px;font-weight:400;transition:background .2s,color .2s,border-color .2s,transform .2s,box-shadow .2s;display:flex;box-shadow:0 0 14px #47ebf1a6,0 0 28px #47ebf157}.text-arrow-button:hover{animation:1.5s ease-in-out infinite service-icon-glow-pulse;transform:translateY(-2px)}.contact-primary .text-arrow-button{border-color:var(--color-accent);color:var(--color-accent);outline-offset:3px;background:#47ebf11f;outline:1.5px solid #0000;font-weight:400;box-shadow:0 0 14px #47ebf147}.contact-primary .text-arrow-button:hover{opacity:.85;outline-color:var(--color-accent);outline-offset:4px;animation:none;box-shadow:0 0 12px #47ebf1b3,0 0 24px #47ebf166}.faq-panel{padding-top:1px}.faq-title{align-items:center;gap:10px;margin-bottom:18px;display:flex}.faq-title img{object-fit:contain;flex:none;width:20px;height:24px}.faq-title h2{color:var(--color-text-muted);letter-spacing:0;font-size:24px;font-weight:700;line-height:1.4}.faq-title small{vertical-align:baseline;font-size:18px;line-height:1}.faq-list{gap:9px;display:grid}.faq-item{background:var(--color-bg-card);border:1px solid var(--color-border-faint);border-radius:4px;overflow:hidden}.faq-item summary{min-height:50px;color:var(--color-text-muted);letter-spacing:.7px;cursor:pointer;align-items:center;gap:16px;padding:15px 44px 15px 14px;font-size:16px;line-height:1.45;list-style:none;display:flex;position:relative}.faq-item summary::-webkit-details-marker{display:none}.faq-item summary span{color:var(--color-accent);font-weight:700}.faq-item summary:after{content:"";border-right:1px solid var(--color-text-muted);border-bottom:1px solid var(--color-text-muted);width:8px;height:8px;transition:transform .2s;position:absolute;top:50%;right:17px;transform:translateY(-65%)rotate(45deg)}.faq-item[open] summary:after{transform:translateY(-35%)rotate(225deg)}.faq-item p{color:var(--color-text-muted);padding:0 44px 18px 46px;font-size:16px;line-height:1.8}.contact-thanks-page{background:#343535;padding-bottom:120px;position:relative;overflow:hidden}.contact-thanks-grid{opacity:.3;z-index:1;pointer-events:none;background-image:linear-gradient(90deg,#8594940d 1px,#0000 1px),linear-gradient(#8594940d 1px,#0000 1px);background-size:80px 80px;position:absolute;inset:0}.contact-thanks-blur{filter:blur(60px);z-index:2;pointer-events:none;background:#47ebf10d;border-radius:12px;width:796px;height:600px;position:absolute;top:44%;left:50%;transform:translate(-50%,-50%)}.contact-thanks-page .contact-hero,.contact-thanks-layout{z-index:3;position:relative}.contact-thanks-layout{width:min(920px,100% - 48px);margin:44px auto 0}.contact-thanks-panel{text-align:center;flex-direction:column;align-items:center;min-height:400px;padding:64px 48px;display:flex}.contact-thanks-icon{background:#364747;border-radius:12px;justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:32px;display:inline-flex}.contact-thanks-icon img{width:56px;height:68px}.contact-thanks-label{color:var(--color-accent);letter-spacing:1.4px;text-transform:uppercase;margin-bottom:10px;font-size:24px;font-weight:600;line-height:1}.contact-thanks-panel h2{color:var(--color-text);letter-spacing:0;font-size:clamp(28px,4vw,40px);font-weight:700;line-height:1.35}.contact-thanks-message{color:var(--color-text-muted);margin-top:18px;font-size:20px;line-height:1.8}.contact-thanks-button{background:var(--color-accent);color:#002021;min-width:198px;height:auto;box-shadow:none;letter-spacing:.7px;text-transform:none;outline-offset:3px;border:0;border-radius:10px;outline:1.5px solid #0000;justify-content:center;align-items:center;margin:40px 0 0;padding:22px 45px;font-size:16px;font-weight:700;line-height:26px;display:inline-flex}.contact-thanks-button:hover{opacity:.85;outline-color:var(--color-accent);outline-offset:4px;animation:none;transform:translateY(-2px);box-shadow:0 0 12px #47ebf1b3,0 0 24px #47ebf166}@media (width<=1180px){.contact-layout{grid-template-columns:1fr}.faq-panel{padding-top:0}}@media (width<=768px){.contact-page{padding:104px 0 72px}.contact-hero,.contact-layout{width:min(100% - 32px,640px)}.contact-thanks-page{padding:88px 0 32px}.contact-thanks-layout{width:min(100% - 32px,640px);margin-top:20px}.contact-section-title{padding-left:18px}.contact-section-title p{font-size:15px}.contact-layout{gap:40px;margin-top:32px}.contact-primary{gap:32px}.contact-panel{padding:28px 20px}.contact-thanks-panel{min-height:auto;padding:32px 22px}.contact-thanks-icon{border-radius:10px;width:77px;height:77px;margin-bottom:20px}.contact-thanks-icon img{width:45px;height:54px}.contact-thanks-message{margin-top:14px;font-size:17px}.contact-thanks-button{margin-top:24px;padding:16px 36px}.contact-panel-head{min-height:48px;margin-bottom:28px}.contact-panel-title h2,.faq-title h2{font-size:20px}.faq-title small{font-size:15px}.contact-panel-mark{width:64px;height:76px;top:-28px;right:0}.contact-form-grid{grid-template-columns:1fr;gap:0}.faq-item summary{align-items:flex-start;padding-right:38px}.faq-item p{padding-left:42px;padding-right:24px}}@media (width<=480px){.contact-section-title h1{font-size:30px}.contact-thanks-panel h2{font-size:24px}.contact-panel-title h2,.faq-title h2{font-size:18px}.faq-title small{font-size:13.5px}}