@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/noto-sans-jp-japanese-400-normal-Cy9Yahyj.woff2)format("woff2"),url(/assets/noto-sans-jp-japanese-400-normal-CVXqO_9z.woff)format("woff")}@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/noto-sans-jp-japanese-700-normal-Cy7xyTMA.woff2)format("woff2"),url(/assets/noto-sans-jp-japanese-700-normal-CLExAywd.woff)format("woff")}@font-face{font-family:Noto Sans JP;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/noto-sans-jp-japanese-800-normal-q8S9FvVi.woff2)format("woff2"),url(/assets/noto-sans-jp-japanese-800-normal-f43eXf9m.woff)format("woff")}:root{color:#162333;text-rendering:optimizelegibility;--navy:#0d223a;--navy-soft:#173654;--ink:#162333;--muted:#66717d;--line:#d9dee4;--paper:#fff;--accent:#a97735;--error:brown;background:#f7f8f9;font-family:Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px;overflow-x:hidden}body{background:#f7f8f9;min-width:320px;min-height:100vh;margin:0;overflow-x:hidden}.is-signing,.is-signing *{-webkit-user-select:none!important;user-select:none!important;-webkit-touch-callout:none!important}button,input{font:inherit}button{-webkit-tap-highlight-color:transparent}button:focus-visible,input:focus-visible,canvas:focus-visible{outline-offset:2px;outline:3px solid #2168a652}.site-header{background:var(--navy);color:#fff}.header-inner{align-items:center;gap:11px;width:min(100% - 40px,980px);height:66px;margin:auto;display:flex}.brand-mark{border:1px solid #ffffffa6;place-items:center;width:34px;height:34px;font:600 17px Georgia,serif;display:grid}.brand-name,.brand-subtitle{margin:0}.brand-name{letter-spacing:.08em;font-size:11px;font-weight:700}.brand-subtitle{color:#ffffffa8;margin-top:2px;font-size:10px}.page-shell{width:min(100% - 40px,900px);margin:0 auto;padding:44px 0 88px}.hero{border-bottom:1px solid var(--line);padding:0 6px 54px}.eyebrow{color:var(--accent);margin:0 0 14px;font-size:12px;font-weight:600}.eyebrow span{color:var(--muted);border-left:1px solid #bdc4cb;margin-left:9px;padding-left:11px;font-weight:500}.hero h1{max-width:760px;color:var(--navy);letter-spacing:0;margin:0;font-size:clamp(32px,4.6vw,42px);font-weight:800;line-height:1.42}.lead{color:#52606d;max-width:700px;margin:18px 0 0;font-size:15px;line-height:1.9}.progress-guide{grid-template-columns:repeat(3,1fr);margin:36px 0 0;padding:0;list-style:none;display:grid}.progress-guide li{color:#88919a;text-align:center;justify-items:center;gap:8px;min-width:0;font-size:11px;line-height:1.4;display:grid;position:relative}.progress-guide li:not(:last-child):after{content:"";z-index:0;background:#cfd5da;width:calc(100% - 36px);height:1px;position:absolute;top:14px;left:calc(50% + 18px)}.progress-number{z-index:1;color:#7d8791;background:#f7f8f9;border:1px solid #c3c9cf;border-radius:50%;place-items:center;width:29px;height:29px;font-size:11px;font-weight:600;display:grid;position:relative}.progress-guide .active{color:var(--navy);font-weight:600}.progress-guide .active .progress-number{border-color:var(--navy);background:var(--navy);color:#fff}.progress-guide .complete .progress-number{color:var(--navy);background:#fff;border-color:#67788a}.progress-guide .complete:after{background:#8996a3!important}.progress-label{display:block}.terms,.form-section{padding-top:58px}.section-heading{align-items:flex-start;gap:16px;width:min(100%,720px);margin:0 auto 26px;display:flex}.section-heading--intro{border-left:3px solid var(--navy);background:#f0f2f4;width:100%;padding:24px 26px}.section-heading h2{color:var(--navy);margin:0;font-size:25px;font-weight:800;line-height:1.45}.section-heading div>p{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.7}.terms-body{background:var(--paper);border-top:1px solid #dde2e6;border-bottom:1px solid #dde2e6;padding:42px clamp(28px,6vw,58px) 48px}.terms-document-title{border-bottom:1px solid #bfc7cf;justify-content:space-between;gap:16px;padding-bottom:17px;font-weight:600;display:flex;color:var(--navy)!important;margin:0 0 42px!important;font-size:14px!important;line-height:1.6!important}.terms-document-title span{color:var(--muted);flex:none;font-size:12px;font-weight:500}.terms-body h2{color:var(--navy);border-bottom:1px solid #dce1e5;margin:52px 0 24px;padding:0 0 14px 27px;font-size:21px;font-weight:800;line-height:1.5;position:relative}.terms-body h2:before{content:"";background:var(--navy);width:9px;height:9px;position:absolute;top:.78em;left:2px;transform:translateY(-50%)}.terms-body .terms-document-title+h2{margin-top:0}.terms-body h3{color:#263a4e;border-top:1px solid #e5e9ec;margin:32px 0 15px;padding-top:25px;font-size:18px;font-weight:700;line-height:1.6}.terms-body h2+h3{border-top:0;margin-top:24px;padding-top:0}.terms-body p{color:#3d4a57;margin:0 0 19px;font-size:16px;font-weight:400;line-height:1.78}.terms-body>p:not(.terms-document-title){padding-left:21px;position:relative}.terms-body>p:not(.terms-document-title):before{content:"";background:#647282;border-radius:50%;width:5px;height:5px;position:absolute;top:.82em;left:3px;transform:translateY(-50%)}.terms-body strong{color:#10243d;font-weight:700}.terms-body hr{background:#e3e6e9;border:0;height:1px;margin:48px 0 0}.terms-end{color:#43515f;background:#f3f5f6;border-top:1px solid #e0e4e7;justify-content:center;align-items:center;gap:8px;margin-top:48px;padding:17px;font-size:13px;font-weight:600;display:flex}.terms-end span{color:#35704a}.agreement-form{margin:0}.form-section{border-top:1px solid var(--line);margin-top:62px;padding-top:56px}.field-group{width:min(100%,720px);margin-inline:auto}.field-group label{color:var(--navy);margin-bottom:11px;font-size:15px;font-weight:600;display:block}.required{color:#fff;background:var(--navy);vertical-align:1px;margin-left:7px;padding:2px 6px;font-size:10px;line-height:1.4;display:inline-block}.field-group input{width:100%;min-height:54px;color:var(--ink);background:#fff;border:1px solid #aeb8c1;border-radius:3px;padding:13px 16px;font-size:16px}.field-group input::placeholder{color:#a0a8b0;opacity:1}.field-group input:hover{border-color:#788898}.field-group input:focus{border-color:#286a9e;outline:none;box-shadow:0 0 0 3px #286a9e1f}.field-help{color:var(--muted);margin:9px 0 0;font-size:13px;line-height:1.6}.consent-box{cursor:pointer;background:#fff;border:1px solid #aeb8c2;align-items:center;gap:13px;width:min(100%,720px);min-height:76px;margin-inline:auto;padding:17px 19px;display:flex}.consent-box:hover{border-color:#708192}.consent-box input{opacity:0;width:1px;height:1px;position:absolute}.checkbox-visual{background:#fff;border:1.5px solid #778594;flex:0 0 23px;place-items:center;width:23px;height:23px;display:grid}.consent-box input:focus-visible+.checkbox-visual{outline-offset:2px;outline:3px solid #2168a652}.consent-box input:checked+.checkbox-visual{border-color:var(--navy);background:var(--navy)}.consent-box input:checked+.checkbox-visual:after{content:"";border-bottom:2px solid #fff;border-left:2px solid #fff;width:10px;height:6px;transform:translateY(-2px)rotate(-45deg)}.consent-box strong{color:var(--navy);font-size:15px;font-weight:600;line-height:1.7}.consent-box small{color:#727d87;margin-top:4px;font-size:13px;line-height:1.6;display:block}.consent-box--locked{cursor:not-allowed;background:#f2f4f5;border-color:#c9cfd5}.consent-box--locked .checkbox-visual{background:#e3e6e9;border-color:#aab2ba}.signature-pad{flex-direction:column;align-items:center;width:min(100%,720px);margin-inline:auto;display:flex}.signature-section,.signature-section *{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}.signature-frame{touch-action:none;background:#fff;border:1px solid #aeb7c0;border-radius:4px;width:100%;height:220px;position:relative;overflow:hidden}.signature-frame:after{content:"";pointer-events:none;border-bottom:1px solid #d9dde1;position:absolute;bottom:44px;left:26px;right:26px}.signature-canvas{z-index:2;cursor:crosshair;touch-action:none;width:100%;height:100%;display:block;position:relative}.signature-guide{z-index:1;top:17px;color:#a1a9b1;text-align:center;pointer-events:none;font-size:13px;position:absolute;inset-inline:0}.secondary-button{color:#4a5866;cursor:pointer;background:#fff;border:1px solid #b5bec6;border-radius:3px;width:auto;min-height:44px;margin:13px auto 0;padding:8px 17px}.secondary-button:hover:not(:disabled){background:#f1f3f5}.secondary-button:disabled{opacity:.55;cursor:not-allowed}.signature-status{color:#89919a;text-align:center;width:min(100%,720px);margin:13px auto 0;font-size:13px}.signature-status span{margin-right:7px;display:inline-block}.signature-status--done{color:#2e7048}.error-message{border-left:4px solid var(--error);color:#7c2020;background:#fff3f2;width:min(100%,720px);margin:38px auto 0;padding:16px 18px;font-size:14px;line-height:1.7}.submit-section{border-top:1px solid var(--line);width:min(100%,720px);margin:58px auto 0;padding-top:34px}.submit-note{color:#596573;text-align:center;margin:0 0 18px;font-size:13px;line-height:1.75}.submission-progress{color:var(--navy);text-align:left;background:#f6f7f8;border:1px solid #cfd6dc;align-items:flex-start;gap:14px;margin:0 0 16px;padding:18px 20px;display:flex}.submission-progress-spinner{flex:none;width:21px;height:21px;margin:2px 0 0}.submission-progress strong{font-size:16px;font-weight:700;line-height:1.5;display:block}.submission-progress p{color:#4f5d6a;margin:5px 0 0;font-size:13px;line-height:1.7}.submission-progress small{color:#77818a;margin-top:5px;font-size:12px;line-height:1.6;display:block}.submit-button,.download-button{background:var(--navy);color:#fff;cursor:pointer;width:100%;min-height:58px;box-shadow:none;border:0;border-radius:3px;font-weight:700}.submit-button:hover:not(:disabled),.download-button:hover{background:var(--navy-soft)}.submit-button:disabled{color:#f5f6f7;box-shadow:none;cursor:not-allowed;background:#b8bec4}.requirements{color:#76808a;text-align:center;margin:11px 0 0;font-size:13px}.spinner{vertical-align:-3px;border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:17px;height:17px;margin-right:9px;animation:.8s linear infinite spin;display:inline-block}.spinner--dark{border-color:#0d223a2e;border-top-color:var(--navy)}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.spinner{animation-duration:1.5s}}footer{padding:28px 20px calc(28px + env(safe-area-inset-bottom));background:var(--navy);color:#ffffffa1;text-align:center}footer p{letter-spacing:.04em;margin:0;font-size:11px}.company-name{color:#ffffffd1;letter-spacing:.02em;margin-top:8px;font-size:12px}.loading-screen,.status-shell{min-height:100dvh;padding:max(36px, env(safe-area-inset-top)) 20px max(36px, env(safe-area-inset-bottom));place-items:center;display:grid}.loading-screen{color:#596573;gap:10px;font-size:14px;display:flex}.status-panel{text-align:center;background:#fff;border:1px solid #dce1e6;width:min(100%,620px);padding:clamp(34px,7vw,60px);box-shadow:0 18px 60px #11203114}.status-mark{color:#2f7048;background:#e7f1eb;border-radius:50%;place-items:center;width:54px;height:54px;margin:0 auto 24px;font-size:24px;font-weight:700;display:grid}.status-panel--error .status-mark{color:var(--error);background:#faecea}.status-panel h1{color:var(--navy);margin:0;font-size:clamp(24px,5vw,32px);line-height:1.5}.status-panel>p{color:#586574;margin:18px 0 0;font-size:15px;line-height:1.9}.receipt-details{text-align:left;border-top:1px solid #dde2e7;margin:28px 0}.receipt-details div{border-bottom:1px solid #dde2e7;grid-template-columns:140px 1fr;gap:15px;padding:13px 0;display:grid}.receipt-details dt{color:#707a84;font-size:12px}.receipt-details dd{overflow-wrap:anywhere;color:#26384a;min-width:0;margin:0;font-size:13px}.receipt-actions{grid-template-columns:1fr 1.35fr;gap:10px;display:grid}.download-button{min-height:52px}.preview-button{min-height:52px;color:var(--navy);background:#fff;border:1px solid #9da9b5;border-radius:3px;place-items:center;font-size:13px;font-weight:700;text-decoration:none;display:grid}.preview-button:hover{background:#f3f5f6}.close-message{font-weight:600;color:var(--navy)!important}.receipt-error{color:#7c2020!important;font-size:13px!important}@media (width<=640px){.header-inner{width:calc(100% - 36px);height:62px}.brand-mark{width:32px;height:32px}.page-shell{width:100%;padding:30px 18px 66px}.hero{padding:0 0 45px}.eyebrow{margin-bottom:12px}.hero h1{font-size:32px;line-height:1.42}.lead{margin-top:15px;font-size:14px;line-height:1.85}.progress-guide{margin-top:29px}.progress-guide li{gap:7px;font-size:10.5px}.progress-number{width:28px;height:28px}.progress-guide li:not(:last-child):after{top:13.5px}.terms{padding-top:50px}.form-section{margin-top:54px;padding-top:50px}.section-heading{gap:9px;margin-bottom:23px}.section-heading--intro{gap:8px;width:calc(100% + 4px);margin-left:-2px;padding:20px 18px}.section-heading h2{font-size:24px;line-height:1.45}.section-heading div>p{margin-top:6px;font-size:13px}.terms-body{border-left:0;border-right:0;margin:0 -18px;padding:31px 20px 39px}.terms-document-title{display:block;margin-bottom:37px!important;font-size:13px!important}.terms-document-title span{margin-top:3px;display:block}.terms-body p{margin-bottom:18px;font-size:16px;line-height:1.78}.terms-body h2{margin-top:46px;padding:0 0 12px 27px;font-size:21px}.terms-body h3{margin-top:29px;padding-top:23px;font-size:18px;line-height:1.55}.terms-body h2+h3{margin-top:22px;padding-top:0}.terms-body hr{margin-top:43px}.consent-box{min-height:74px;padding:15px 14px}.signature-frame{height:200px}.signature-frame:after{bottom:38px;left:20px;right:20px}.signature-guide{top:15px}.submit-section{margin-top:50px;padding-top:30px}.submit-button{min-height:56px}}@media (width<=390px){.page-shell{padding-left:18px;padding-right:18px}.hero h1{font-size:31px}.form-section .section-heading{margin-bottom:22px}.receipt-details div{grid-template-columns:1fr;gap:4px}.receipt-actions{grid-template-columns:1fr}}.admin-loading,.admin-login-shell{min-height:100dvh;color:var(--navy);background:#f3f5f7;place-items:center;padding:24px;display:grid}.admin-login-panel{border:1px solid var(--line);text-align:center;background:#fff;width:min(100%,460px);padding:42px}.admin-login-panel h1{color:var(--navy);margin:5px 0 12px;font-size:30px}.admin-login-panel>p:not(.admin-kicker,.admin-error){color:var(--muted);margin:0 0 25px;line-height:1.7}.admin-kicker{color:#8c7040;letter-spacing:.03em;margin:0;font-size:12px;font-weight:700}.admin-shell{min-height:100dvh;color:var(--ink);background:#f5f6f7;padding:0 32px 72px}.admin-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;width:min(100%,1240px);margin:0 auto;padding:28px 0 24px;display:flex}.admin-header h1{color:var(--navy);margin:3px 0 0;font-size:28px}.admin-account{color:var(--muted);align-items:center;gap:16px;font-size:13px;display:flex}.admin-shell button,.admin-shell input,.admin-shell select,.admin-shell textarea{font:inherit}.admin-shell button{min-height:40px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #aab4bd;border-radius:3px;padding:8px 14px}.admin-shell button:disabled{opacity:.55;cursor:wait}.admin-primary-button{border-color:var(--navy)!important;background:var(--navy)!important;color:#fff!important;font-weight:700!important}.admin-login-panel .admin-primary-button{width:100%;min-height:50px}.admin-google-button{justify-content:center;width:100%;min-height:44px;display:flex}.admin-google-button>div{max-width:100%}.admin-danger-button{color:#8a2828!important;border-color:#d1aaaa!important}.admin-summary,.admin-toolbar,.admin-create-form,.admin-issued-url,.admin-filters,.admin-table-wrap,.admin-evidence,.admin-notice,.admin-error{width:min(100%,1240px);margin-inline:auto}.admin-summary{border:1px solid var(--line);background:var(--line);grid-template-columns:repeat(3,1fr);gap:1px;margin-top:28px;display:grid}.admin-summary div{background:#fff;justify-content:space-between;align-items:baseline;padding:21px 24px;display:flex}.admin-summary span{color:var(--muted);font-size:13px}.admin-summary strong{color:var(--navy);font-size:28px}.admin-toolbar{justify-content:space-between;align-items:flex-end;gap:24px;margin-top:38px;display:flex}.admin-toolbar h2,.admin-evidence h2{color:var(--navy);margin:0;font-size:22px}.admin-toolbar p,.admin-evidence-header p{color:var(--muted);margin:6px 0 0;font-size:13px}.admin-toolbar-actions,.admin-form-actions,.admin-row-actions,.admin-evidence-actions{flex-wrap:wrap;gap:8px;display:flex}.admin-create-form{border:1px solid var(--line);background:#fff;gap:18px;margin-top:20px;padding:25px;display:grid}.admin-create-form h3{color:var(--navy);margin:0}.admin-create-form label{color:var(--navy);gap:7px;font-size:13px;font-weight:700;display:grid}.admin-create-form input,.admin-create-form textarea,.admin-filters input,.admin-filters select,.admin-issued-url input{width:100%;min-height:45px;color:var(--ink);background:#fff;border:1px solid #aeb8c1;border-radius:3px;padding:9px 12px;font-size:15px}.admin-create-form textarea{resize:vertical}.admin-form-actions{justify-content:flex-end}.admin-issued-url{background:#fff;border-left:4px solid #9d7c3e;grid-template-columns:minmax(180px,.6fr) minmax(260px,1.4fr) auto;align-items:center;gap:14px;margin-top:20px;padding:20px;display:grid}.admin-issued-url p{color:var(--muted);margin:4px 0 0;font-size:12px}.admin-error{border-left:4px solid var(--error);color:#7c2020;background:#fff0ef;margin-top:18px;padding:14px 17px}.admin-filters{grid-template-columns:1fr 180px;gap:10px;margin-top:22px;display:grid}.admin-table-wrap{border:1px solid var(--line);background:#fff;margin-top:12px;overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:950px}.admin-table th{border-bottom:1px solid var(--line);color:#536170;text-align:left;white-space:nowrap;background:#eef1f3;padding:12px 14px;font-size:12px}.admin-table td{color:#344454;vertical-align:top;border-bottom:1px solid #e6e9ec;padding:14px;font-size:13px}.admin-table td small{color:var(--muted);margin-top:4px;display:block}.admin-status{color:#536170;white-space:nowrap;background:#eef1f3;padding:3px 8px;font-size:11px;font-weight:700;display:inline-block}.admin-status--signed{color:#2e7048;background:#e4f0e8}.admin-status--pending{color:#755c2d;background:#f5eedf}.admin-status--revoked,.admin-status--expired,.admin-status--voided{color:#803232;background:#f3e7e6}.admin-void-note{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.admin-void-banner{color:#803232;background:#f9edec;border-left:4px solid #803232;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.8}.admin-empty{text-align:center;color:var(--muted)!important;padding:30px!important}.admin-evidence{border:1px solid var(--line);background:#fff;margin-top:28px;padding:26px}.admin-evidence-header{justify-content:space-between;gap:20px;display:flex}.admin-evidence dl{border-top:1px solid var(--line);grid-template-columns:repeat(2,1fr);margin:22px 0;display:grid}.admin-evidence dl div{border-bottom:1px solid var(--line);padding:11px 0}.admin-evidence dt{color:var(--muted);font-size:11px}.admin-evidence dd{color:var(--navy);overflow-wrap:anywhere;margin:4px 0 0}.admin-evidence img{border:1px solid var(--line);object-fit:contain;background:#fff;width:min(100%,620px);height:180px;margin:0 auto 20px;display:block}.admin-evidence-actions{justify-content:center}.admin-evidence-actions a{border:1px solid var(--navy);min-height:42px;color:var(--navy);place-items:center;padding:9px 16px;font-weight:700;text-decoration:none;display:inline-grid}.admin-notice{border:1px solid var(--line);background:#fff;margin-top:30px;padding:28px}.admin-busy{background:var(--navy);color:#fff;padding:11px 16px;font-size:13px;position:fixed;bottom:20px;right:20px}@media (width<=760px){.admin-shell{padding:0 16px 50px}.admin-header,.admin-toolbar{flex-direction:column;align-items:flex-start}.admin-account{justify-content:space-between;width:100%}.admin-summary,.admin-issued-url,.admin-filters,.admin-evidence dl{grid-template-columns:1fr}.admin-login-panel{padding:32px 22px}}
