@charset "UTF-8";.contact{box-sizing:border-box;padding:32px 40px 120px;@media (max-width:800px){padding:24px 16px 80px}}.contact__inner{max-width:800px;margin:0 auto}.contact__head{display:grid;justify-items:center;text-align:center}.contact__title{font-size:var(--font-size-xx-large);letter-spacing:var(--letter-spacing-sp,0.1em);@media (max-width:800px){font-size:var(--font-size-x-large)}}.contact__lead{margin-top:16px;font-size:var(--font-size-x-medium);line-height:2;letter-spacing:var(--letter-spacing-sp,0.08em);word-break:keep-all;@media (max-width:800px){font-size:var(--font-size-small);line-height:1.9}}.contact__lead-line{display:block;@media (max-width:800px){display:inline}}.contact__note{margin-top:24px;color:var(--color-key-sub);font-size:var(--font-size-medium);letter-spacing:0.08em;@media (max-width:800px){font-size:var(--font-size-x-small)}}.contact__heading{font-size:var(--font-size-x-large);font-weight:bold;letter-spacing:0.1em;@media (max-width:800px){font-size:var(--font-size-large)}}.contact-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,480px);margin:32px 0 0;padding:0;list-style:none;counter-reset:contact-step;@media (max-width:800px){margin-top:24px}}.contact-steps__item{display:grid;gap:8px;color:var(--color-key-sub);font-size:var(--font-size-small);font-weight:bold;line-height:1.5;letter-spacing:0.2em;counter-increment:contact-step;&::before{content:"";height:4px;border-radius:2px;background-color:var(--color-border)}&[aria-current]{color:var(--color-key)}&[aria-current]::before,&.contact-steps__item--done::before{background-color:var(--color-key)}@media (max-width:800px){font-size:var(--font-size-x-small)}}.contact-steps__name{position:relative;display:grid;align-items:center;min-height:28px;padding:0 40px;text-align:center;@media (max-width:800px){min-height:24px;padding:0 32px}&::before{content:counter(contact-step);position:absolute;top:50%;left:0;translate:0 -50%;display:grid;place-items:center;width:28px;height:28px;border:1px solid var(--color-border);border-radius:50%;box-sizing:border-box;font-size:var(--font-size-xx-small);letter-spacing:0;@media (max-width:800px){width:24px;height:24px;font-size:var(--font-size-xxx-small)}}}.contact-steps__item--done .contact-steps__name::before{border-color:var(--color-key)}.contact-steps__item[aria-current] .contact-steps__name::before{border-color:var(--color-key);background-color:var(--color-key);color:var(--color-white)}.contact-form,.contact-done{display:grid;gap:32px;margin-top:40px;@media (max-width:800px){gap:24px;margin-top:24px}}.contact-form,.contact-done{--paper-x:clamp(0px,(100vw - 800px) / 2 - 16px,56px);margin-inline:calc(var(--paper-x) * -1);padding:40px max(24px,var(--paper-x)) 80px;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-white);box-shadow:0 1px 2px rgba(33,33,50,0.04),0 16px 24px -16px rgba(33,33,50,0.16);@media (max-width:800px){margin-inline:0;padding:16px 16px 48px}}.contact-form__intro{display:grid;gap:8px;text-align:center}.contact-form__lead{color:var(--color-key-sub);font-size:var(--font-size-small);line-height:1.9}.contact-form__alert{display:flex;align-items:flex-start;gap:8px;color:var(--color-flow-text);font-size:var(--font-size-small);font-weight:bold;line-height:1.8;letter-spacing:0.1em;&::before{content:"!" / "";display:grid;flex:none;place-items:center;width:18px;height:18px;margin-top:calc((var(--font-size-small) * 1.8 - 18px) / 2);border:1.5px solid currentColor;border-radius:50%;box-sizing:border-box;font-size:12px;font-weight:bold;line-height:1}}.contact-form__group{display:grid;min-width:0;margin:0;padding:0;border:0}.contact-form__title{margin-bottom:16px;padding:0;font-size:var(--font-size-medium);font-weight:bold;line-height:1.5;letter-spacing:0.08em}.contact-form__fields{display:grid;gap:16px}.contact-form__pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;@media (max-width:800px){grid-template-columns:minmax(0,1fr)}}.contact-field{position:relative;min-width:0}.contact-field__input{box-sizing:border-box;width:100%;height:64px;padding:24px 16px 0;border:1px solid var(--color-border);border-radius:8px;background-color:var(--color-white);color:inherit;font:inherit;font-size:var(--font-size-small);letter-spacing:0.05em;appearance:none;transition:border-color 0.2s,box-shadow 0.2s,background-color 0.2s;&:hover{border-color:var(--color-key)}&:focus{outline:none;border-color:var(--color-key);box-shadow:inset 0 0 0 1px var(--color-key)}.contact-field--error &{border-color:var(--color-flow-text);background-color:color-mix(in srgb,var(--color-flow-text) 5%,var(--color-white));&:focus{box-shadow:inset 0 0 0 1px var(--color-flow-text)}}}.contact-field--textarea .contact-field__input{height:auto;min-height:224px;padding:32px 16px 16px;line-height:1.8;resize:vertical}.contact-field__label{position:absolute;top:12px;left:17px;right:17px;overflow:hidden;color:var(--color-key-sub);font-size:var(--font-size-xxx-small);line-height:1.5;letter-spacing:0.05em;white-space:nowrap;text-overflow:ellipsis;pointer-events:none;transition:top 0.2s,font-size 0.2s,translate 0.2s;.contact-field__input:placeholder-shown:not(:focus) + &{top:32px;font-size:var(--font-size-small);translate:0 -50%}.contact-field--error &{color:var(--color-flow-text)}}.contact-field__error{display:flex;align-items:flex-start;gap:4px;margin-top:8px;padding-left:4px;color:var(--color-flow-text);font-size:var(--font-size-xx-small);line-height:1.6;&::before{content:"!" / "";display:grid;flex:none;place-items:center;width:14px;height:14px;margin-top:calc((var(--font-size-xx-small) * 1.6 - 14px) / 2);border:1.5px solid currentColor;border-radius:50%;box-sizing:border-box;font-size:10px;font-weight:bold;line-height:1}}.contact-topics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;@media (max-width:800px){grid-template-columns:minmax(0,1fr)}}.contact-topic{display:grid;grid-template-columns:20px minmax(0,1fr);align-content:center;align-items:center;gap:0 12px;min-height:64px;padding:8px 16px;border:1px solid var(--color-border);border-radius:8px;box-sizing:border-box;background-color:var(--color-white);cursor:pointer;transition:border-color 0.2s,box-shadow 0.2s,background-color 0.2s;&:hover{border-color:var(--color-key)}&:has(:checked){border-color:var(--color-key);box-shadow:inset 0 0 0 1px var(--color-key)}&:has(:focus-visible){outline:2px solid var(--color-key);outline-offset:2px}.contact-topics--error &{border-color:var(--color-flow-text);background-color:color-mix(in srgb,var(--color-flow-text) 5%,var(--color-white))}}.contact-topic__input{grid-row:1 / 3;width:20px;height:20px;margin:0;border:1px solid var(--color-key-sub);border-radius:50%;box-sizing:border-box;background-color:var(--color-white);transition:border-color 0.2s;&:checked{border-color:var(--color-key);background-image:radial-gradient(var(--color-key) 0 5px,transparent 5.5px)}&:focus-visible{outline:none}}.contact-topic__name{font-size:var(--font-size-x-small);font-weight:bold;line-height:1.5}.contact-topic__note{grid-column:2;color:var(--color-key-sub);font-size:var(--font-size-xxx-small);line-height:1.5}.contact-captcha__row{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;@media (max-width:800px){grid-template-columns:minmax(0,1fr)}}.contact-captcha__visual{display:grid;gap:8px}.contact-captcha__tools{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.contact-captcha__meaning{display:flex;align-items:baseline;gap:8px;min-width:0;font-size:var(--font-size-small);line-height:1.6}.contact-captcha__meaning-label{flex:none;padding:0 8px;border-radius:4px;background-color:var(--color-detail-lavender);color:var(--color-purple);font-size:var(--font-size-xx-small);font-weight:bold;letter-spacing:0.1em}.contact-captcha__image{display:block;width:100%;height:auto;aspect-ratio:392 / 64;border:1px solid color-mix(in srgb,var(--color-key-sub) 50%,var(--color-border));border-radius:8px;box-sizing:border-box}.contact-captcha__refresh{display:inline-flex;align-items:center;flex:none;gap:8px;padding:0;border:0;background:none;color:var(--color-key);font:inherit;font-size:var(--font-size-small);font-weight:bold;line-height:1.6;cursor:pointer;&::before{content:"";width:16px;height:16px;background-color:currentColor;mask:url(../../img/icon/loop.svg) center / contain no-repeat}&:hover{text-decoration:underline;text-underline-offset:4px}&[aria-busy="true"]{cursor:wait;&::before{animation:contact-captcha-spin 0.6s cubic-bezier(0.45,0,0.55,1) infinite}}@media (prefers-reduced-motion:reduce){&[aria-busy="true"]::before{animation:none}}}@keyframes contact-captcha-spin{to{rotate:360deg}}.contact-form__finish{display:grid;justify-items:center;gap:24px;margin-top:24px;.contact-field__error{margin-top:-16px}}.contact-agree{display:flex;align-items:center;gap:12px;font-size:var(--font-size-small);cursor:pointer;a{margin-right:4px;color:var(--color-purple);font-weight:bold;text-underline-offset:4px}}.contact-agree__input{display:grid;place-items:center;flex:none;width:20px;height:20px;margin:0;border:1px solid var(--color-key-sub);border-radius:4px;box-sizing:border-box;background-color:var(--color-white);cursor:pointer;&::before{content:"";width:14px;height:14px;background-color:var(--color-white);mask:url(../../img/icon/check.svg) center / contain no-repeat;opacity:0}&:checked{border-color:var(--color-key);background-color:var(--color-key);&::before{opacity:1}}&:focus-visible{outline:2px solid var(--color-key);outline-offset:2px}&[aria-invalid="true"]{border-color:var(--color-flow-text);background-color:color-mix(in srgb,var(--color-flow-text) 5%,var(--color-white))}}.contact-form__trap{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.contact-form__actions{display:flex;flex-wrap:wrap;justify-content:center;gap:16px}.contact-form__submit{min-width:280px;height:56px;justify-content:center}.contact-form__back{min-width:160px;height:56px;justify-content:center}.contact-form__actions--pair{margin-top:8px;.contact-form__back,.contact-form__submit{min-width:200px}@media (max-width:800px){flex-direction:column-reverse;align-items:stretch}}.contact-review{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:0;@media (max-width:800px){grid-template-columns:minmax(0,1fr)}}.contact-review__box{grid-column:1 / -1;display:grid;align-content:center;min-height:64px;padding:8px 16px;border-radius:8px;box-sizing:border-box;background-color:color-mix(in srgb,var(--color-key-sub) 6%,var(--color-white))}.contact-review__box--half{grid-column:auto;@media (max-width:800px){grid-column:1 / -1}}.contact-review__box--text{align-content:start;padding:12px 16px 16px}.contact-review__label{color:var(--color-key-sub);font-size:var(--font-size-xxx-small);line-height:1.5;letter-spacing:0.05em}.contact-review__value{margin:0;font-size:var(--font-size-small);line-height:1.8;letter-spacing:0.05em;overflow-wrap:anywhere;.contact-review__box--empty &{color:var(--color-key-sub)}}.contact-review__topic{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:0 12px;min-height:64px;padding:8px 16px;border-radius:8px;box-sizing:border-box;background-color:color-mix(in srgb,var(--color-key-sub) 6%,var(--color-white));&::before{content:"";grid-row:1 / 3;width:20px;height:20px;border:1px solid var(--color-key);border-radius:50%;box-sizing:border-box;background-image:radial-gradient(var(--color-key) 0 5px,transparent 5.5px)}}.contact-review__topic-name{font-size:var(--font-size-x-small);font-weight:bold;line-height:1.5}.contact-review__topic-note{grid-column:2;color:var(--color-key-sub);font-size:var(--font-size-xxx-small);line-height:1.5}.contact-done{justify-items:center;gap:24px;text-align:center}.contact-done__check{position:relative;width:72px;height:72px;&::before,&::after{content:"";position:absolute;inset:0;border:2px solid var(--color-yellow);border-radius:50%;opacity:0;animation:contact-done-ripple 1.6s 0.9s ease-out}&::after{animation-delay:1.3s}}.contact-done__check-mark{display:block;width:100%;height:100%;fill:none;stroke:var(--color-key)}.contact-done__check-circle{stroke-width:2;stroke-dasharray:214;stroke-dashoffset:214;animation:contact-done-draw 0.7s cubic-bezier(0.65,0,0.35,1) forwards}.contact-done__check-tick{stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:40;stroke-dashoffset:40;animation:contact-done-draw 0.4s 0.6s cubic-bezier(0.65,0,0.35,1) forwards}@keyframes contact-done-draw{to{stroke-dashoffset:0}}@keyframes contact-done-ripple{0%{opacity:1;scale:0.9}100%{opacity:0;scale:1.8}}.contact-done__text{margin-top:-8px;font-size:var(--font-size-x-medium);line-height:2}.contact-done__note{margin:8px 0;color:var(--color-key-sub);font-size:var(--font-size-small);letter-spacing:0.05em}.contact-next{width:100%;margin-top:16px;padding:24px 32px;border-radius:16px;box-sizing:border-box;background-color:color-mix(in srgb,var(--color-key-sub) 6%,var(--color-white));text-align:left;@media (max-width:800px){padding:16px}}.contact-next__title{margin-bottom:24px;font-size:var(--font-size-x-medium);font-weight:bold;letter-spacing:0.08em}.contact-next__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:0;padding:0;list-style:none;counter-reset:contact-next;@media (max-width:800px){grid-template-columns:minmax(0,1fr)}}.contact-next__item{display:grid;gap:8px;counter-increment:contact-next;&::before{content:counter(contact-next);display:grid;place-items:center;width:28px;height:28px;margin-bottom:4px;border-radius:50%;background-color:var(--color-key);color:var(--color-white);font-size:var(--font-size-xx-small);font-weight:bold}}.contact-next__item--done{position:relative;&::before{content:"" / "済み";background-color:var(--color-yellow)}&::after{content:"";position:absolute;top:6px;left:6px;width:16px;height:16px;background-color:var(--color-key);mask:url(../../img/icon/check.svg) center / contain no-repeat}}.contact-next__name{font-size:var(--font-size-small);font-weight:bold;letter-spacing:0.05em}.contact-next__text{color:var(--color-key-sub);font-size:var(--font-size-xx-small);line-height:1.7;letter-spacing:0.05em}@media (prefers-reduced-motion:reduce){.contact-done__check-circle,.contact-done__check-tick{stroke-dashoffset:0;animation:none}.contact-done__check::before,.contact-done__check::after{animation:none}.contact-field__input,.contact-field__label,.contact-topic,.contact-topic__input{transition:none}}