.application-portal{--ap-navy:#293044;--ap-muted:#697284;--ap-border:#dfe4eb;--ap-surface:#f7f8fa;--ap-accent:#8f3043;background:var(--ap-surface);min-height:100svh;color:var(--ap-navy);font-family:var(--font-ui,"Noto Sans JP", "Hiragino Sans", "Yu Gothic", sans-serif);-webkit-font-smoothing:antialiased;font-size:15px;line-height:1.8}.application-portal *,.application-portal :before,.application-portal :after{box-sizing:border-box}.application-portal h1,.application-portal h2,.application-portal p,.application-portal ol,.application-portal dl{margin:0}.application-portal button,.application-portal input{font:inherit}.application-portal button,.application-portal a{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.application-portal button{cursor:pointer}.application-portal button:disabled{cursor:not-allowed;opacity:.52}:is(.application-portal button:focus-visible,.application-portal a:focus-visible,.application-portal input:focus-visible){outline-offset:4px;outline:3px solid #8f3043}.ap-shell{width:min(100% - 48px,760px);margin-inline:auto;padding-bottom:48px}.ap-header{border-bottom:1px solid var(--ap-border);justify-content:space-between;align-items:center;gap:16px;padding:28px 0;display:flex}.ap-brand{color:var(--ap-navy);letter-spacing:-.055em;font-size:26px;font-weight:750;text-decoration:none}.ap-brand span{color:var(--ap-accent)}.ap-secure{color:var(--ap-muted);white-space:nowrap;align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.ap-secure svg{width:16px;height:16px}.ap-intro{padding:44px 0 30px}.ap-eyebrow{letter-spacing:.16em;color:var(--ap-accent);font-size:11px;font-weight:700;margin-bottom:12px!important}.ap-intro h1{letter-spacing:-.025em;overflow-wrap:anywhere;font-size:clamp(23px,3.9vw,32px);font-weight:750;line-height:1.5}.ap-intro h1 span{margin-top:5px;font-size:.79em;font-weight:600;display:block}.ap-intro>p:last-child{color:var(--ap-muted);margin-top:18px;font-size:14px}.ap-progress{grid-template-columns:repeat(4,1fr);padding:0 0 32px;list-style:none;display:grid}.ap-progress li{color:#78818f;z-index:0;flex-direction:column;align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex;position:relative}.ap-progress li:not(:last-child):after{content:"";z-index:-1;background:#d7dde5;width:calc(100% - 42px);height:1px;position:absolute;top:16px;left:calc(50% + 21px)}.ap-step-number{background:#fff;border:1px solid #d4dbe4;border-radius:50%;place-items:center;width:33px;height:33px;font-size:13px;font-weight:650;display:grid}.ap-step-number svg{width:18px;height:18px}.ap-progress .is-current{color:var(--ap-navy)}.ap-progress .is-current .ap-step-number{color:#fff;background:var(--ap-navy);border-color:var(--ap-navy);box-shadow:0 0 0 4px #e7eaf0}.ap-progress .is-complete .ap-step-number{color:#425b4e;background:#edf4ef;border-color:#c6d7cd}.ap-card{border:1px solid var(--ap-border);background:#fff;border-radius:18px;padding:36px 40px;box-shadow:0 8px 32px #24344d06}.ap-card h2{letter-spacing:-.025em;font-size:clamp(21px,3.2vw,26px);font-weight:700;line-height:1.6}.ap-card-kicker{letter-spacing:.1em;color:var(--ap-muted);font-size:11px;font-weight:700;margin-bottom:7px!important}.ap-body-copy{color:var(--ap-muted);font-size:14px;margin-top:12px!important}.ap-button{border:1px solid var(--ap-navy);background:var(--ap-navy);color:#fff;text-align:center;border-radius:9px;justify-content:center;align-items:center;gap:14px;width:100%;min-height:52px;padding:13px 20px;font-size:15px;font-weight:650;line-height:1.5;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.ap-button:hover:not(:disabled){background:#3b465d;border-color:#3b465d}.ap-button>span{font-size:18px}.ap-button-secondary{color:var(--ap-navy);background:#fff;border-color:#cfd6e1}.ap-button-secondary:hover:not(:disabled){color:var(--ap-navy);background:#f3f5f8;border-color:#aeb9c8}.ap-line-button{background:#06733f;border-color:#06733f}.ap-line-button:hover{background:#055d33!important;border-color:#055d33!important}.ap-text-button{color:var(--ap-navy);text-underline-offset:4px;background:0 0;border:0;min-height:40px;padding:8px 0;font-size:13px;font-weight:600;text-decoration:underline}.ap-guest{text-align:center}.ap-guest .ap-body-copy{max-width:490px;margin-inline:auto}.ap-guest .ap-button{margin-top:26px}.ap-small{color:var(--ap-muted);text-align:center;font-size:12px;line-height:1.8;margin-top:12px!important}.ap-status-symbol{color:#46536b;background:#f5f7fa;border:1px solid #e0e5ec;border-radius:15px;place-items:center;width:52px;height:52px;margin:0 0 18px;display:grid}.ap-status-symbol svg{width:27px;height:27px}.ap-guest .ap-status-symbol{margin-inline:auto}.ap-connected{color:#3f6550;background:#f0f6f2;border:1px solid #dce8df;border-radius:7px;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:24px;padding:9px 12px;font-size:12px;font-weight:600;display:flex}.ap-connected>svg{flex:none;width:17px;height:17px}.ap-connected>span{color:var(--ap-navy);overflow-wrap:anywhere;text-align:right;max-width:70%;margin-left:auto}.ap-form{gap:23px;margin-top:26px;display:grid}.ap-name-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.ap-field{min-width:0}.ap-field>label{align-items:center;gap:9px;margin-bottom:8px;font-size:14px;font-weight:650;display:flex}.ap-field label>span{color:#8b3042;background:#fffafb;border:1px solid #ead4da;border-radius:3px;padding:0 5px;font-size:10px;font-weight:500;line-height:1.6}.ap-field input{width:100%;min-width:0;min-height:50px;color:var(--ap-navy);background:#fff;border:1px solid #cbd3df;border-radius:7px;padding:11px 13px;font-size:16px;line-height:1.5;display:block}.ap-field input::placeholder{color:#8b929f;opacity:1;font-size:14px}.ap-field input[aria-invalid=true]{background:snow;border-color:#a13b48}.ap-field-error{color:#a12b3f;font-size:12px;margin-top:7px!important}.ap-field-help{color:var(--ap-muted);font-size:12px;margin-top:7px!important}.ap-checkbox{color:var(--ap-navy);cursor:pointer;align-items:flex-start;gap:11px;padding:3px 0;font-size:14px;display:flex}.ap-checkbox input{width:19px;height:19px;accent-color:var(--ap-navy);flex:none;margin:4px 0 0}.ap-policy{color:var(--ap-muted);border-top:1px solid #e7eaf0;padding-top:19px;font-size:12px}.ap-form .ap-small{margin-top:-12px!important}.ap-summary{border-block:1px solid #e2e6ed;margin-top:25px!important}.ap-summary>div{grid-template-columns:155px minmax(0,1fr);gap:20px;padding:15px 0;display:grid}.ap-summary>div+div{border-top:1px solid #edf0f4}.ap-summary dt{color:var(--ap-muted);font-size:13px}.ap-summary dd{color:var(--ap-navy);overflow-wrap:anywhere;margin:0;font-size:14px;font-weight:600}.ap-confirmed{color:#40654d;align-items:center;gap:7px;font-size:12px;display:flex;margin-top:16px!important}.ap-confirmed svg{flex:none;width:18px;height:18px}.ap-notice{color:#536078;background:#f6f8fa;border:1px solid #dfe5ed;border-radius:8px;margin:22px 0;padding:16px 18px;font-size:13px;line-height:1.85;display:block}.ap-notice strong{color:var(--ap-navy);font-size:13px;font-weight:650;display:block}.ap-notice strong+p{margin-top:6px}.ap-notice p{white-space:pre-wrap;overflow-wrap:anywhere}.ap-notice-warm{color:#4b5671;background:#f4f5f9;border-color:#cbd1df}.ap-notice-warm strong{color:#293044}.ap-actions{gap:12px;margin-top:24px;display:grid}.ap-status-label{color:#59667b;background:#eff2f6;border:1px solid #e0e5eb;border-radius:5px;margin-bottom:13px;padding:3px 9px;font-size:11px;font-weight:650;display:inline-flex}.ap-approved .ap-status-symbol,.ap-approved .ap-status-label{color:#376247;background:#edf5ef;border-color:#d5e4d9}.ap-approved>.ap-button{margin-top:28px}.ap-waiting-note{color:var(--ap-muted);font-size:12px;margin-top:25px!important}.ap-refresh-button{margin-top:12px;display:block}.ap-error-box{color:#8d263c;overflow-wrap:anywhere;background:#fff4f6;border:1px solid #e6bfc8;border-radius:10px;gap:5px;margin-bottom:20px;padding:15px 20px;font-size:13px;display:grid}.ap-error-box .ap-text-button{color:#8d263c;justify-self:start}.ap-loading{color:var(--ap-muted);justify-content:center;align-items:center;gap:12px;padding-block:65px;font-size:14px;display:flex}.ap-spinner{border:2px solid #dce2eb;border-top-color:#43506a;border-radius:50%;width:18px;height:18px;animation:.9s linear infinite ap-spin}.ap-footer{color:#758091;text-align:center;justify-content:center;align-items:flex-start;gap:8px;padding:25px 8px 0;font-size:11px;display:flex}.ap-footer svg{flex:none;width:14px;height:14px;margin-top:3px}.ap-payment-dialog{width:min(660px,100vw - 32px);max-height:calc(100svh - 40px);color:var(--ap-navy);background:#fff;border:1px solid #dfe4ec;border-radius:20px;margin:auto;padding:0;overflow:auto;box-shadow:0 28px 100px #111c3940}.ap-payment-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#18223899}.ap-dialog-body{padding:40px 44px 32px}.ap-dialog-body h2{letter-spacing:-.03em;margin:0 0 20px;font-size:clamp(24px,4.5vw,33px);font-weight:750;line-height:1.55}.ap-dialog-body>p:not(.ap-small){color:var(--ap-muted);font-size:14px;line-height:1.9}.ap-dialog-count{border-block:1px solid #e2e7ee;justify-content:space-between;align-items:center;gap:15px;padding-block:14px;display:flex;margin-top:22px!important}.ap-dialog-count strong{color:var(--ap-navy);white-space:nowrap;font-size:24px;font-weight:700}@keyframes ap-spin{to{transform:rotate(360deg)}}@media (max-width:600px){.ap-shell{width:min(100% - 32px,760px);padding-bottom:32px}.ap-header{padding:21px 0}.ap-brand{font-size:24px}.ap-intro{padding:31px 0 26px}.ap-intro>p:last-child{font-size:13px}.ap-desktop-break{display:none}.ap-progress{padding-bottom:26px}.ap-progress li{gap:8px;font-size:10px}.ap-card{border-radius:13px;padding:27px 22px}.ap-name-grid{gap:12px}.ap-body-copy,.ap-field>label{font-size:13px}.ap-form{gap:22px}.ap-button{padding-inline:12px;font-size:14px}.ap-summary>div{grid-template-columns:1fr;gap:4px;padding:13px 0}.ap-summary dt{font-size:11px}.ap-summary dd{font-size:14px}.ap-notice{padding:13px 14px;font-size:12px}.ap-notice strong{font-size:12px}.ap-connected{padding-inline:10px}.ap-connected>span{max-width:57%}.ap-error-box{padding:14px 16px}.ap-dialog-body{padding:28px 24px 24px}.ap-dialog-body>p:not(.ap-small){font-size:13px}.ap-dialog-count{align-items:flex-start}.ap-footer{padding-inline:0}}@media (prefers-reduced-motion:reduce){.ap-spinner{animation:none}.ap-button{transition:none}.ap-payment-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}
