.contact-page{width:100%;overflow-x:clip;background-color:#fff}.contact-page .page-hero{background-color:#fff}.contact-form-section{width:100%;background-color:#f5f5f7}@media all and (min-width: 768px){.contact-form-section{background-color:#f6f8fb}}.contact-form-section__inner{margin:0 auto;max-width:1440px;width:100%;box-sizing:border-box;padding:33px 0 48px}@media all and (min-width: 768px){.contact-form-section__inner{padding:36px clamp(20px,5.8vw,40px) 57px}}@media all and (min-width: 1280px){.contact-form-section__inner{padding:36px clamp(20px,5.8vw,80px) 57px}}.contact-shell{margin:0 auto;max-width:960px;width:100%}@media all and (min-width: 768px){.contact-shell{padding:48px 56px 56px;border-radius:16px;background-color:#fff;box-shadow:0 8px 40px #1a1d220f}}@media all and (min-width: 1280px){.contact-shell{padding:56px 72px 64px}}@media all and (min-width: 768px){.contact-shell--complete{display:flex;flex-direction:column;align-items:center;max-width:880px;padding:54px 64px 58px}}@media all and (max-width: 767px){.wrapper-content{padding:0 clamp(20px,5.8vw,20px);box-sizing:border-box}}.contact-panel{width:100%}@media all and (max-width: 767px){.contact-panel{padding:28px 20px 32px;border-radius:16px;background-color:#fff;box-shadow:0 4px 24px #1a1d220f}}.contact-panel--complete{display:flex;flex-direction:column;align-items:center;text-align:center}@media all and (max-width: 767px){.contact-panel--complete{padding:48px 20px 100px;border:1px solid #e5e7eb;box-shadow:0 4px 16px #1118270a}}@media all and (min-width: 768px){.contact-panel--complete{padding:0;background:transparent;box-shadow:none}}.contact-steps{display:flex;align-items:flex-start;justify-content:center;gap:0;margin:0 auto 28px;max-width:400px;width:100%;list-style:none;padding:8px 0 0}@media all and (min-width: 768px){.contact-steps{gap:146px;margin:0 auto 40px;max-width:none;width:max-content;padding:0}}@media all and (min-width: 768px){.contact-shell--complete .contact-steps{margin-bottom:40px}}.contact-steps__item{position:relative;flex:1 1 0;display:flex;flex-direction:column;align-items:center;gap:16px}@media all and (min-width: 768px){.contact-steps__item{flex:0 0 auto;gap:12px}}.contact-steps__item:not(:last-child):after{content:"";position:absolute;top:19px;left:50%;right:-50%;height:2px;background-color:#fff;z-index:0}@media all and (min-width: 768px){.contact-steps__item:not(:last-child):after{left:calc(50% + 20px);right:calc(-50% - 126px);background-color:#f7f8fa}}.contact-steps__item.is-done:not(:last-child):after{background:linear-gradient(135deg,#1fafc6,#38bdf8)}.contact-steps__num{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;border:0;background:#fff;font-family:Inter,Noto Sans,sans-serif;font-size:14px;font-weight:400;color:#9ca3af;line-height:1}@media all and (min-width: 768px){.contact-steps__num{background-color:#f7f8fa;font-weight:700}}.is-active .contact-steps__num,.is-done .contact-steps__num{background:linear-gradient(135deg,#1fafc6,#38bdf8);color:#fff}.contact-steps__label{font-size:12px;font-weight:500;letter-spacing:.04em;color:#c1c5cd;line-height:1.4}@media all and (min-width: 768px){.contact-steps__label{font-size:13px}}.is-active .contact-steps__label,.is-done .contact-steps__label,.is-current .contact-steps__label{color:#1a1d22;font-weight:700}@media all and (max-width: 767px){.is-active .contact-steps__label,.is-done .contact-steps__label,.is-current .contact-steps__label{font-weight:400}}.contact-fields{display:flex;flex-direction:column;gap:20px}@media all and (min-width: 768px){.contact-fields{gap:28px}}.contact-field{scroll-margin-top:120px}.contact-field__label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:10px;font-size:14px;font-weight:500;letter-spacing:.04em;color:#1a1d22;line-height:1.5}@media all and (min-width: 768px){.contact-field__label{font-size:16px;margin-bottom:12px}}.contact-field__required{display:inline-flex;align-items:center;justify-content:center;min-width:36px;padding:2px 8px;border-radius:4px;background-color:#f05050;color:#fff;font-size:12px;font-weight:500;letter-spacing:.06em;line-height:1.4}.contact-field__input,.contact-field__select,.contact-field__textarea{width:100%;border:1px solid #d1d5db;border-radius:8px;background-color:#fff;color:#1a1d22;font-family:inherit;font-size:14px;letter-spacing:.02em;line-height:1.6;scroll-margin-top:120px;transition:border-color .2s ease,box-shadow .2s ease}.contact-field__input::placeholder,.contact-field__select::placeholder,.contact-field__textarea::placeholder{color:#9ca3af}.contact-field__input:focus,.contact-field__select:focus,.contact-field__textarea:focus{outline:none;border-color:#2fb0cf;box-shadow:0 0 0 3px #2fb0cf26}.contact-field__input.is-invalid,.contact-field__select.is-invalid,.contact-field__textarea.is-invalid{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.contact-field__input.is-invalid.is-error-focus,.contact-field__input.is-invalid:focus,.contact-field__select.is-invalid.is-error-focus,.contact-field__select.is-invalid:focus,.contact-field__textarea.is-invalid.is-error-focus,.contact-field__textarea.is-invalid:focus{border-color:#ef4444;box-shadow:0 0 0 3px #ef444438;animation:contact-error-pulse .9s ease-out 1}@media (prefers-reduced-motion: reduce){.contact-field__input.is-invalid.is-error-focus,.contact-field__input.is-invalid:focus,.contact-field__select.is-invalid.is-error-focus,.contact-field__select.is-invalid:focus,.contact-field__textarea.is-invalid.is-error-focus,.contact-field__textarea.is-invalid:focus{animation:none}}@media all and (min-width: 768px){.contact-field__input,.contact-field__select,.contact-field__textarea{font-size:15px}}.contact-field__error{margin:8px 0 0;color:#b91c1c;font-size:12px;line-height:1.5;letter-spacing:.02em}.contact-field__input,.contact-field__select{height:48px;padding:0 14px}@media all and (min-width: 768px){.contact-field__input,.contact-field__select{height:52px;padding:0 16px}}.contact-field__textarea{min-height:160px;padding:14px;resize:vertical}@media all and (min-width: 768px){.contact-field__textarea{min-height:180px;padding:16px}}.contact-field__select-wrap{position:relative}.contact-field__select-wrap:after{content:"";position:absolute;top:50%;right:16px;width:8px;height:8px;border-right:2px solid #9ca3af;border-bottom:2px solid #9ca3af;transform:translateY(-70%) rotate(45deg);pointer-events:none}.contact-field__select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:40px;cursor:pointer;color:#1a1d22}.contact-field__select:invalid{color:#9ca3af}.contact-confirm{display:flex;flex-direction:column}.contact-confirm__row{padding:16px 0;border-bottom:1px solid #e8eaed}.contact-confirm__row:first-child{padding-top:0}.contact-confirm__row:last-child{border-bottom:none;padding-bottom:0}@media all and (min-width: 768px){.contact-confirm__row{padding:20px 0}}.contact-confirm__label{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:8px;font-size:14px;font-weight:700;letter-spacing:.04em;color:#1a1d22}@media all and (min-width: 768px){.contact-confirm__label{font-size:15px;margin-bottom:10px}}.contact-confirm__value{font-family:Noto Sans JP,Noto Sans,sans-serif;font-size:14px;font-weight:400;line-height:1.8;letter-spacing:.04em;color:#4b5563;word-break:break-word}.contact-confirm__value a,.contact-confirm__value a[x-apple-data-detectors]{color:inherit;text-decoration:none}@media all and (min-width: 768px){.contact-confirm__value{font-size:16px}}.contact-confirm__value--pre{white-space:pre-wrap}.contact-agree{margin-top:24px;scroll-margin-top:120px}@media all and (min-width: 768px){.contact-agree{margin-top:32px}}.contact-agree__label{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;-webkit-user-select:none;user-select:none}.contact-agree__label.is-invalid .contact-agree__box{border-color:#ef4444;box-shadow:0 0 0 3px #ef44441f}.contact-agree__label.is-disabled{cursor:default}.contact-agree__label.is-disabled .contact-agree__box{pointer-events:none}.contact-agree__checkbox{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.contact-agree__checkbox:focus-visible+.contact-agree__box{box-shadow:0 0 0 3px #2fb0cf40}.contact-agree__checkbox.is-error-focus+.contact-agree__box{border-color:#ef4444;box-shadow:0 0 0 3px #ef444438;animation:contact-error-pulse .9s ease-out 1}@media (prefers-reduced-motion: reduce){.contact-agree__checkbox.is-error-focus+.contact-agree__box{animation:none}}.contact-agree__checkbox:checked+.contact-agree__box{background-color:#2fb0cf;border-color:#2fb0cf}.contact-agree__checkbox:checked+.contact-agree__box:after{opacity:1}.contact-agree__box{position:relative;flex-shrink:0;width:20px;height:20px;border:1.5px solid #c4c7cc;border-radius:4px;background-color:#fff}.contact-agree__box:after{content:"";position:absolute;left:6px;top:2px;width:5px;height:10px;border:solid #ffffff;border-width:0 2px 2px 0;transform:rotate(45deg);opacity:0}.contact-agree__text{font-size:13px;line-height:1.6;letter-spacing:.02em;color:#1a1d22}@media all and (min-width: 768px){.contact-agree__text{font-size:14px}}.contact-agree__text a{color:#2fb0cf;text-decoration:none}.contact-agree__text a:hover{opacity:.85}.contact-actions{display:flex;flex-direction:column;align-items:center;gap:16px;margin-top:28px;width:100%}@media all and (min-width: 768px){.contact-actions{margin-top:40px;gap:16px}}@media all and (max-width: 767px){.contact-actions--confirm .contact-btn--primary{order:1}.contact-actions--confirm .contact-btn--secondary{order:2}}@media all and (min-width: 768px){.contact-actions--confirm{flex-direction:row;justify-content:center;gap:20px}}.contact-actions--complete{margin-top:32px;align-items:center}.contact-actions--complete .contact-btn--ghost{width:240px;max-width:240px;height:48px;min-height:48px;padding:8px 12px 8px 20px}@media all and (min-width: 768px){.contact-actions--complete{flex-direction:row;justify-content:center;gap:20px;margin-top:40px}.contact-actions--complete .contact-btn--ghost{width:258px;min-width:258px;max-width:258px}}.contact-btn{display:inline-flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:100%;min-height:48px;padding:10px 12px 10px 24px;border:0;border-radius:999px;cursor:pointer;text-decoration:none;box-sizing:border-box;transition:opacity .2s ease,transform .2s ease}.contact-btn:hover{opacity:.92;transform:translateY(-1px);text-decoration:none}@media all and (min-width: 768px){.contact-btn{width:auto;min-width:280px;max-width:none;min-height:56px;padding:12px 14px 12px 28px}}.contact-btn--primary{background:linear-gradient(163deg,#0ea5a4,#38bdf8 71%);color:#fff;box-shadow:0 8px 20px #0ea5a438}@media all and (max-width: 767px){.contact-btn--primary{width:265px;max-width:100%;height:48px;min-height:48px;padding:8px 12px 8px 20px}}.contact-btn--primary:hover{color:#fff}.contact-btn--primary .contact-btn__icon{background-color:#fff}.contact-btn--primary .contact-btn__text{font-family:Noto Sans JP,Noto Sans,sans-serif;font-size:16px;font-weight:700}.contact-btn--secondary{justify-content:center;gap:12px;max-width:144px;background-color:#f2f2f2;color:#1a1d22;padding:8px 20px 8px 12px;box-shadow:0 4px 4px #0000001a}.contact-btn--secondary:hover{color:#1a1d22}.contact-btn--secondary .contact-btn__icon{background-color:#2fb0cf}.contact-btn--secondary .contact-btn__icon img{filter:brightness(0) invert(1)}.contact-btn--secondary .contact-btn__text{flex:0 1 auto}@media all and (min-width: 768px){.contact-btn--secondary{min-width:200px;max-width:none;padding:12px 28px 12px 14px}}.contact-btn--ghost{background-color:#f2f2f2;color:#1a1d22;box-shadow:0 4px 4px #0000001a}.contact-btn--ghost .contact-btn__icon{background-color:#2fb0cf;color:#fff}.contact-btn--ghost .contact-btn__icon img{filter:brightness(0) invert(1)}.contact-btn--ghost:hover{color:#1a1d22}@media all and (max-width: 767px){.contact-btn--ghost{height:48px;min-height:48px;padding:8px 12px 8px 20px}}@media all and (min-width: 768px){.contact-btn--ghost{width:258px;min-width:258px;max-width:258px}}.contact-btn__text{flex:1 1 auto;font-size:14px;font-weight:700;letter-spacing:.06em;white-space:nowrap;text-align:center}@media all and (min-width: 768px){.contact-btn__text{font-size:16px}}.contact-btn__icon{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;flex-shrink:0}@media all and (min-width: 768px){.contact-btn__icon{width:36px;height:36px}}.contact-btn__icon--left{order:-1}.contact-btn__icon--left img{transform:scaleX(-1)}.contact-success{display:flex;align-items:center;justify-content:center;width:136px;height:142px;margin-bottom:24px}@media all and (min-width: 768px){.contact-success{width:180px;height:180px;margin-bottom:32px}}.contact-success__img{display:block;width:100%;height:100%;object-fit:contain}.contact-complete__title{font-family:Noto Sans JP,Noto Sans,sans-serif;font-size:20px;font-weight:700;font-style:normal;line-height:1.5;letter-spacing:.04em;color:#1a1d22}@media all and (min-width: 768px){.contact-complete__title{font-size:32px}}.contact-complete__body{margin-top:16px;max-width:520px;padding:0 10px;font-family:Noto Sans JP,Noto Sans,sans-serif;font-size:14px;font-weight:400;font-style:normal;line-height:1.9;letter-spacing:.04em;color:#4b5563;box-sizing:border-box}@media all and (min-width: 768px){.contact-complete__body{margin-top:20px;padding:0;font-size:16px}}@keyframes contact-error-pulse{0%{box-shadow:0 0 0 3px #ef44441f}40%{box-shadow:0 0 0 6px #ef444447}to{box-shadow:0 0 0 3px #ef444438}}@media all and (min-width: 768px){.contact-page--complete .contact-form-section{background-color:#fff}}@media all and (min-width: 768px){.contact-page--complete .contact-shell--complete{border:1px solid #e5e7eb;box-shadow:0 4px 20px #00000040}}
