.contact-page{--accent:#e94d72;--accent-deep:#c93861;--accent-tint:rgba(234,72,113,0.08);--ink:#16151b;--muted:#62626c;--faint:#9a9aa2;--bg:#ffffff;--paper:#f4f3ef;--line:rgba(22,21,27,0.12);--font-sans:"Lato",var(--font-cjk);--font-display:"Lato",var(--font-cjk);--disp-weight:900;--disp-tracking:-0.035em;--pill:100px;--pad-x:80px;font-family:var(--font-sans);color:var(--ink);background:var(--bg)}.contact-page *,.contact-page :after,.contact-page :before{box-sizing:border-box}.contact-page .display{font-family:var(--font-display);font-weight:var(--disp-weight);letter-spacing:var(--disp-tracking);line-height:1.02;color:var(--ink)}.contact-page .ct{padding:140px var(--pad-x) clamp(80px,8vw,120px)}.contact-page .ct-wrap{width:100%}.contact-page .ct-rule{border:none;border-top:1px solid var(--line);margin:clamp(48px,5.8vw,80px) 0}.contact-page .ct-title{font-size:clamp(38px,5vw,62px);text-transform:uppercase;margin:0}.contact-page .ct-intro{font-size:16.5px;line-height:1.7;color:var(--ink);max-width:660px;margin-top:22px}.contact-page .ct-info{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(28px,4vw,64px);gap:clamp(28px,4vw,64px);margin-top:clamp(40px,4.5vw,58px)}.contact-page .ct-info-block{display:grid;grid-template-columns:auto 1fr;grid-gap:14px;gap:14px;align-items:start}.contact-page .ct-info-ico{width:19px;height:19px;flex-shrink:0;color:var(--ink);margin-top:2px}.contact-page .ct-info-ico svg{width:19px;height:19px;display:block}.contact-page .ct-info-k{font-size:15.5px;font-weight:700;color:var(--ink);line-height:1.3}.contact-page .ct-info-v{font-size:15px;line-height:1.65;color:var(--ink);margin-top:9px}.contact-page .ct-info-v a{color:var(--ink);font-weight:700;text-decoration:none;border-bottom:1px solid var(--ink)}.contact-page .ct-info-v a:hover{color:var(--accent);border-bottom-color:var(--accent)}.contact-page .ct-hours{display:flex;flex-direction:column;gap:16px}.contact-page .ct-hours-line .hk{font-weight:700;color:var(--ink);font-size:15.5px}.contact-page .ct-hours-line .hv{font-size:15px;color:var(--ink);margin-top:4px}.contact-page .ct-loc-title{font-size:clamp(30px,3.8vw,46px);margin-bottom:clamp(28px,3vw,40px)}.contact-page .ct-loc-grid{display:grid;grid-template-columns:repeat(3,minmax(0,270px));grid-gap:clamp(28px,4vw,68px);gap:clamp(28px,4vw,68px);justify-content:start}.contact-page .ct-loc{display:flex;flex-direction:column;gap:10px}.contact-page .ct-loc-top{display:flex;align-items:center;gap:11px}.contact-page .ct-loc-pin{width:18px;height:18px;color:var(--ink);flex-shrink:0}.contact-page .ct-loc-pin svg{width:18px;height:18px;display:block}.contact-page .ct-loc-city{font-size:16px;font-weight:700;color:var(--ink)}.contact-page .ct-loc-addr{font-size:15px;line-height:1.55;color:var(--ink);margin:0}.contact-page .ct-loc-addr.jp{letter-spacing:0}.contact-page .ct-form-intro{font-size:17.5px;line-height:1.65;color:var(--muted);max-width:720px;margin-bottom:clamp(34px,3.6vw,48px)}.contact-page .frm{display:flex;flex-direction:column;gap:clamp(22px,2.6vw,30px)}.contact-page .frm-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;pointer-events:none}.contact-page .frm-row{display:grid;grid-template-columns:1fr 1fr;grid-gap:clamp(24px,3vw,44px);gap:clamp(24px,3vw,44px)}.contact-page .field{display:flex;flex-direction:column}.contact-page .field-label{font-size:15px;font-weight:700;color:var(--ink);margin-bottom:11px;display:flex;align-items:center;gap:7px}.contact-page .field-label .opt{font-weight:400;color:var(--faint)}.contact-page .field-label .req{color:var(--accent)}.contact-page .binp{width:100%;font-family:var(--font-sans);font-size:17.5px;color:var(--ink);background:var(--bg);border:1.5px solid var(--line);border-radius:10px;padding:15px 18px;transition:border-color .2s ease,box-shadow .2s ease}.contact-page .binp::placeholder{color:var(--faint)}.contact-page .binp:hover{border-color:color-mix(in srgb,var(--ink) 24%,var(--line))}.contact-page .binp:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-tint)}.contact-page textarea.binp{resize:vertical;min-height:132px;line-height:1.6}.contact-page .binp.sel{-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2362626c' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;background-size:18px;padding-right:44px}.contact-page .field.invalid .binp{border-color:var(--accent-deep)}.contact-page .ac{position:relative}.contact-page .ac-list{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:20;margin:0;padding:6px;list-style:none;max-height:264px;overflow-y:auto;background:var(--bg);border:1.5px solid var(--line);border-radius:10px;box-shadow:0 18px 40px -20px rgba(22,21,27,.4)}.contact-page .ac-opt{padding:11px 14px;border-radius:7px;font-size:16px;color:var(--ink);cursor:pointer}.contact-page .ac-opt.active{background:var(--accent-tint);color:var(--accent-deep)}.contact-page .field-err{font-size:14px;color:var(--accent-deep);margin-top:8px;font-weight:700}.contact-page .frm-fine{font-size:14px;color:var(--faint);margin-top:10px}.contact-page .check{display:flex;align-items:flex-start;gap:13px;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.contact-page .check input{position:absolute;opacity:0;pointer-events:none}.contact-page .check .box{flex-shrink:0;width:20px;height:20px;margin-top:1px;border:1.5px solid var(--line);border-radius:5px;display:flex;align-items:center;justify-content:center;color:#fff;transition:background .18s ease,border-color .18s ease}.contact-page .check .box svg{width:12px;height:12px;opacity:0;transform:scale(.6);transition:opacity .18s ease,transform .18s ease}.contact-page .check input:checked+.box{background:var(--accent);border-color:var(--accent)}.contact-page .check input:checked+.box svg{opacity:1;transform:none}.contact-page .check input:focus-visible+.box{box-shadow:0 0 0 4px var(--accent-tint)}.contact-page .check .ctxt{font-size:15.5px;line-height:1.6;color:var(--muted)}.contact-page .check .ctxt a{color:var(--ink);font-weight:700;text-decoration:underline;text-underline-offset:2px}.contact-page .check .ctxt a:hover{color:var(--accent)}.contact-page .frm-submit{display:flex;align-items:center;gap:22px;flex-wrap:wrap;margin-top:6px}.contact-page .frm-submit .sub-note{font-size:13.5px;color:var(--faint)}.contact-page .btn-rect{display:inline-flex;align-items:center;gap:10px;font-family:var(--font-sans);font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#fff;background:var(--accent);border:none;border-radius:4px;padding:18px 32px;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background .25s ease,transform .2s ease,box-shadow .25s ease}.contact-page .btn-rect:hover{background:var(--accent-deep);transform:translateY(-2px);box-shadow:0 12px 28px -12px var(--accent)}.contact-page .btn-rect:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.contact-page .btn-rect .arr{transition:transform .25s ease}.contact-page .btn-rect:hover .arr{transform:translateX(4px)}.contact-page .frm-done{display:flex;flex-direction:column;align-items:flex-start;gap:16px;max-width:480px}.contact-page .frm-done .dchk{width:56px;height:56px;border-radius:50%;background:var(--accent-tint);color:var(--accent-deep);display:flex;align-items:center;justify-content:center}.contact-page .frm-done .dchk svg{width:26px;height:26px}.contact-page .frm-done h3{font-family:var(--font-display);font-weight:var(--disp-weight);font-size:clamp(24px,2.6vw,34px);letter-spacing:var(--disp-tracking);color:var(--ink)}.contact-page .frm-done p{font-size:15.5px;line-height:1.72;color:var(--muted)}.contact-page .frm-done .btn-rect{text-transform:uppercase}.contact-page .reveal{transform:translateY(16px);transition:transform .85s cubic-bezier(.16,1,.3,1);transition-delay:var(--rv-d,0s);will-change:transform}.contact-page .reveal.rv-right{transform:translateX(22px)}.contact-page .reveal[data-rv]{transform:none}@media (prefers-reduced-motion:reduce){.contact-page .reveal{transform:none!important;transition:none}}@media (min-width:2560px){.contact-page{--pad-x:10%}}@media (max-width:1024px){.contact-page{--pad-x:24px}}@media (max-width:760px){.contact-page .ct-loc-grid{grid-template-columns:1fr;gap:28px}}@media (max-width:680px){.contact-page .ct-info{grid-template-columns:1fr;gap:30px}.contact-page .frm-row{grid-template-columns:1fr;gap:22px}}@media (max-width:560px){.contact-page .frm-submit .btn-rect{width:100%;justify-content:center}}