@import url("https://fonts.googleapis.com/css2?family=Fraunces:ital,opsz,wght@0,9..144,300;0,9..144,400;0,9..144,500;1,9..144,300;1,9..144,400&family=Instrument+Sans:wght@400;500;600&family=JetBrains+Mono:wght@400;500&family=Noto+Sans+JP:wght@300;400;500&family=Shippori+Mincho+B1:wght@400;500;700&display=swap");:root{--bone:#e8e5dc;--bone-soft:#b6b1a4;--bone-mute:#6f6c63;--ink-base:#0a0e14;--ink-deep:#05070a;--ink-elev:#11161e;--rule:#1d242e;--rule-strong:#2b333f;--accent:#7dd3c0;--accent-deep:#4ea591;--accent-glow:rgba(125,211,192,.18);--accent-soft:rgba(125,211,192,.08);--gold:#c4a778;--rose:#e8746e;--rose-soft:hsla(3,73%,67%,.1);--rose-deep:#8c2a26;--ink:var(--bone);--ink-soft:var(--bone);--slate:var(--bone-soft);--drift:var(--bone-mute);--mist:var(--bone-mute);--cloud:var(--rule-strong);--fog:var(--rule);--paper:var(--ink-base);--white:var(--ink-elev);--warm:hsla(37,39%,62%,.08);--green:var(--accent);--green-soft:var(--accent-soft);--accent-fg:var(--ink-base);--font-display:"Fraunces","Shippori Mincho B1","Hiragino Mincho ProN",serif;--font-display-jp:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;--font-body:"Instrument Sans","Noto Sans JP","Hiragino Sans",sans-serif;--font-body-jp:"Noto Sans JP","Hiragino Sans","Yu Gothic",sans-serif;--font-serif:var(--font-display-jp);--font-sans:var(--font-body-jp);--font-mono:"JetBrains Mono",ui-monospace,monospace;--header-h:64px;--radius:4px;--radius-lg:8px;--radius-full:999px;--shadow-xs:0 1px 2px rgba(0,0,0,.35);--shadow-sm:0 2px 8px rgba(0,0,0,.4);--shadow-md:0 4px 16px rgba(0,0,0,.45),0 12px 40px rgba(0,0,0,.3);--shadow-lg:0 8px 30px rgba(0,0,0,.5),0 20px 60px rgba(0,0,0,.35);--shadow:var(--shadow-sm);--ease-out:cubic-bezier(0.2,0.65,0.2,1)}*,:after,:before{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}body{background:var(--ink-base);color:var(--bone-soft);font-family:var(--font-body-jp);font-weight:300;font-size:14.5px;line-height:1.8;letter-spacing:.01em;overflow-x:hidden;position:relative;min-height:100vh}body:before{content:"";position:fixed;inset:0;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='1.4' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.91 0 0 0 0 0.89 0 0 0 0 0.85 0 0 0 0.045 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");pointer-events:none;z-index:100;mix-blend-mode:overlay;opacity:.6}a{color:var(--accent);text-decoration:none;transition:color .2s var(--ease-out)}a:hover{color:var(--bone)}img,svg{max-width:100%}::selection{background:var(--accent);color:var(--ink-base)}.site-header{position:-webkit-sticky;position:sticky;top:0;z-index:50;height:var(--header-h);display:flex;align-items:center;justify-content:space-between;padding:0 32px;background:rgba(10,14,20,.78);backdrop-filter:blur(16px) saturate(1.1);-webkit-backdrop-filter:blur(16px) saturate(1.1);border-bottom:1px solid var(--rule)}.site-header .brand{display:inline-flex;align-items:baseline;gap:10px;font-family:var(--font-display);font-style:italic;font-weight:400;font-size:22px;letter-spacing:-.01em;font-variation-settings:"opsz" 24}.site-header .brand,.site-header .brand:hover{color:var(--bone);text-decoration:none}.site-header .brand small{font-family:var(--font-mono);font-style:normal;font-size:9.5px;font-weight:500;letter-spacing:.22em;color:var(--bone-mute);text-transform:uppercase;transform:translateY(-2px)}.site-header nav{display:flex;align-items:center;gap:24px}.site-header nav a{font-family:var(--font-mono);font-size:11.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--bone-mute);transition:color .2s var(--ease-out)}.site-header nav a:hover{color:var(--bone);text-decoration:none}.logo-mark{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--rule-strong);border-radius:8px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.05em;color:var(--bone);background:transparent}main.container{max-width:820px;margin:56px auto;padding:0 24px;position:relative;z-index:1}.section{background:var(--ink-elev);border:1px solid var(--rule);border-radius:var(--radius);padding:32px 36px;margin-bottom:20px}.section h2{margin:0 0 8px;font-family:var(--font-display-jp);font-size:22px;font-weight:500;color:var(--bone);letter-spacing:-.005em;line-height:1.45}.section .subtitle{color:var(--bone-mute);margin-bottom:24px;font-size:13px;line-height:1.75}.section h3{margin:28px 0 12px;font-family:var(--font-display-jp);font-size:16px;font-weight:500;color:var(--bone)}label{display:block;margin-bottom:14px;font-size:13px;color:var(--bone-soft)}label .label-text{display:block;margin-bottom:6px;color:var(--bone-mute);font-family:var(--font-mono);font-size:10.5px;font-weight:500;text-transform:uppercase;letter-spacing:.14em}.form-input,.mfa-input,input[type=date],input[type=email],input[type=number],input[type=password],input[type=tel],input[type=text],select,textarea{width:100%;padding:11px 14px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--ink-base);font-size:14px;font-family:var(--font-body-jp);color:var(--bone);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.form-input:focus,.mfa-input:focus,input[type=date]:focus,input[type=email]:focus,input[type=number]:focus,input[type=password]:focus,input[type=tel]:focus,input[type=text]:focus,select:focus,textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}input::placeholder,textarea::placeholder{color:var(--bone-mute);opacity:.7}.mfa-input{font-size:22px;letter-spacing:6px;text-align:center;margin-bottom:16px}.checkbox{display:flex;align-items:flex-start;gap:10px;font-size:13.5px;cursor:pointer}.checkbox input[type=checkbox]{accent-color:var(--accent);margin-top:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border-radius:var(--radius);border:1px solid var(--rule-strong);background:transparent;color:var(--bone-soft);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;cursor:pointer;transition:border-color .2s var(--ease-out),color .2s var(--ease-out),background .2s var(--ease-out);line-height:1.4}.btn,.btn:hover{text-decoration:none}.btn:hover{color:var(--bone)}.btn.primary,.btn:hover{border-color:var(--bone)}.btn.primary{background:var(--bone);color:var(--ink-base)}.btn.primary:hover{background:var(--accent);border-color:var(--accent);color:var(--ink-base);box-shadow:0 12px 32px var(--accent-glow)}.btn.danger{border-color:var(--rule-strong);color:var(--rose);background:transparent}.btn.danger:hover{border-color:var(--rose);color:var(--rose)}.btn:disabled{opacity:.4;cursor:not-allowed}.form-field{display:block;margin-bottom:14px}.form-field:last-of-type{margin-bottom:18px}.form-field .label-text{margin-bottom:6px;display:block}.form-error{color:var(--rose);margin-top:14px;font-size:13px}.form-footer{margin-top:24px}.password-field{position:relative}.password-field .form-input{padding-right:42px}.password-toggle{position:absolute;right:8px;top:50%;transform:translateY(-50%);background:none;border:none;cursor:pointer;padding:4px;color:var(--bone-mute);display:flex;align-items:center;justify-content:center;border-radius:4px;transition:color .2s var(--ease-out)}.password-toggle:hover{color:var(--bone)}.notice{padding:14px 18px;border-radius:var(--radius);background:var(--warm);border:1px solid var(--rule-strong);border-left:3px solid var(--gold);color:var(--bone-soft);font-size:13.5px;line-height:1.75;margin-bottom:20px}.notice.error{background:var(--rose-soft);border-color:var(--rule-strong);border-left-color:var(--rose);color:var(--bone)}.notice.success{background:var(--accent-soft);border-color:var(--rule-strong);border-left-color:var(--accent);color:var(--bone)}.notice.demo{background:var(--warm);border-left-color:var(--gold);color:var(--bone-soft)}.auth-container{max-width:420px;margin:64px auto}.site-footer{text-align:center;padding:36px 24px;border-top:1px solid var(--rule);background:var(--ink-deep);color:var(--bone-mute);font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.18em;text-transform:uppercase}.footer-inner{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:14px}.footer-brand{font-family:var(--font-display);font-style:italic;font-weight:400;font-size:16px;letter-spacing:-.01em;color:var(--bone);text-transform:none}.footer-sep{color:var(--rule-strong)}.meta{font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.12em;color:var(--bone-mute);text-transform:uppercase}.button-group{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.badge,.bg-subtle{background:var(--ink-deep)}.badge{display:inline-block;padding:4px 12px;border-radius:var(--radius-full);font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--rule-strong);color:var(--bone-soft)}.interview-step-nav{display:flex;gap:8px;flex-wrap:wrap;padding-bottom:18px;border-bottom:1px solid var(--rule);margin-bottom:18px}.interview-step-btn{display:inline-flex;gap:8px;align-items:center;padding:8px 14px;border-radius:var(--radius-full);border:1px solid var(--rule-strong);background:transparent;color:var(--bone-mute);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;cursor:pointer;transition:all .2s var(--ease-out)}.interview-step-btn:hover{border-color:var(--bone-mute);color:var(--bone)}.interview-step-btn .num{display:inline-flex;justify-content:center;align-items:center;width:18px;height:18px;border-radius:var(--radius-full);background:var(--rule);font-size:10px;color:var(--bone-soft)}.interview-step-btn .done{color:var(--accent)}.interview-step-btn.is-active{border-color:var(--accent);background:var(--accent-soft);color:var(--bone)}.interview-step-btn.is-active .num{background:var(--accent);color:var(--ink-base)}.interview-step-btn.is-pending{border-color:var(--gold);color:var(--gold);background:hsla(37,39%,62%,.08)}.interview-step-btn.is-pending .num{background:var(--gold);color:var(--ink-base)}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px 18px;gap:14px 18px;margin:14px 0}.form-grid>div{display:flex;flex-direction:column}.form-grid .form-col-2{grid-column:1/-1}.form-grid .label-text,.form-grid label.label-text{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--bone-mute);text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px;display:block}.form-grid input,.form-grid select,.form-grid textarea{padding:10px 12px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--ink-base);color:var(--bone);font-size:14px;font-family:var(--font-body-jp);transition:border-color .2s var(--ease-out),box-shadow .2s var(--ease-out)}.form-grid input:focus,.form-grid select:focus,.form-grid textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.step-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px;padding-top:18px;border-top:1px solid var(--rule)}.step-actions .btn.danger{color:var(--rose);border-color:var(--rule-strong);background:transparent}.entry-list{list-style:none;margin:8px 0 14px;display:flex;flex-direction:column;gap:8px}.entry-list>li{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base)}.entry-list>li.empty{justify-content:center;color:var(--bone-mute);font-size:13px;background:transparent;border-style:dashed}.row-actions{display:flex;gap:8px}.autocomplete{position:relative}.autocomplete input{width:100%}.autocomplete-list{position:absolute;z-index:10;top:100%;left:0;right:0;list-style:none;padding:4px 0;margin:4px 0 0;background:var(--ink-elev);border:1px solid var(--rule-strong);border-radius:var(--radius);box-shadow:var(--shadow-md);max-height:280px;overflow-y:auto}.autocomplete-list>li button{display:block;width:100%;text-align:left;padding:10px 14px;border:none;background:transparent;color:var(--bone-soft);font-family:inherit;font-size:13px;cursor:pointer;transition:background .15s var(--ease-out),color .15s var(--ease-out)}.autocomplete-list>li button:hover{background:var(--accent-soft);color:var(--bone)}.autocomplete-list>li.empty{padding:10px 14px;color:var(--bone-mute);font-size:12px}.ym-picker{display:flex;gap:8px}.ym-select{flex:1 1;padding:11px 14px;border:1px solid var(--rule-strong);border-radius:var(--radius);background:var(--ink-base);color:var(--bone);font-size:14px;font-family:var(--font-body-jp);cursor:pointer}.ym-select:disabled{opacity:.4;cursor:not-allowed}.ym-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.exam-fieldset{border:1px solid var(--rule-strong);border-radius:var(--radius);padding:12px 18px;margin:12px 0}.exam-fieldset legend{padding:0 8px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.exam-fieldset .checkbox{display:flex;gap:8px;align-items:center;margin:4px 0;font-size:13px}.review-summary .review-section{border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px;margin-bottom:12px;background:var(--ink-base)}.review-summary h4{margin:0 0 8px;font-family:var(--font-display-jp);font-size:14px;font-weight:500;color:var(--bone)}.review-summary dl{display:grid;grid-template-columns:130px 1fr;grid-gap:4px 14px;gap:4px 14px;margin:0;font-size:13px}.review-summary dt{color:var(--bone-mute);font-family:var(--font-mono);font-size:10.5px;text-transform:uppercase;letter-spacing:.1em}.review-summary dd,.review-summary ul{margin:0;color:var(--bone-soft)}.review-summary ul{padding-left:18px;font-size:13px}.retrieval-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.retrieval-summary .card{padding:16px 18px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base)}.retrieval-summary .card .label{font-family:var(--font-mono);font-size:10px;font-weight:500;color:var(--bone-mute);text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px}.retrieval-summary .card .value{font-family:var(--font-display-jp);font-size:26px;font-weight:500;color:var(--bone)}.retrieval-summary .card .hint{font-size:11px;color:var(--bone-mute);margin-top:4px}.retrieval-list{list-style:none;display:flex;flex-direction:column;gap:12px}.retrieval-list>li{border:1px solid var(--rule);border-radius:var(--radius);padding:14px 16px;background:var(--ink-base)}.retrieval-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.retrieval-items{list-style:none;margin:8px 0 0;display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--bone-soft)}.retrieval-items>li{display:flex;gap:10px;justify-content:space-between}.consent-card{border:1px solid var(--rule);border-radius:var(--radius);padding:16px 18px;margin-bottom:14px;background:var(--ink-base)}.consent-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}.consent-card[data-required=true]{border-color:var(--accent)}.mandate-list{list-style:none;margin:14px 0}.mandate-card{border:1px solid var(--rule);border-radius:var(--radius);margin-bottom:16px;background:var(--ink-base);overflow:hidden}.mandate-header{background:var(--ink-deep);padding:10px 16px;font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);border-bottom:1px solid var(--rule)}.mandate-body{padding:14px 18px;font-size:13px;color:var(--bone-soft)}.mandate-body p{margin:4px 0}.mandate-body ul{margin:6px 0 10px;padding-left:22px}.department-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));grid-gap:14px;gap:14px;margin-top:20px}.department-card{display:flex;align-items:flex-start;gap:16px;padding:22px;border:1px solid var(--rule);border-radius:var(--radius);color:var(--bone-soft);transition:all .25s var(--ease-out)}.department-card,.department-card:hover{background:var(--ink-elev);text-decoration:none}.department-card:hover{border-color:var(--accent);color:var(--bone);transform:translateY(-1px);box-shadow:0 8px 24px var(--accent-glow)}.department-card.disabled{opacity:.4;pointer-events:none;cursor:default}.department-icon{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius);background:var(--accent-soft);border:1px solid var(--rule-strong);color:var(--accent);font-family:var(--font-mono);font-size:12px;font-weight:500;letter-spacing:.05em}.department-info h3{margin:0 0 4px;font-family:var(--font-display-jp);font-size:16px;font-weight:500;color:var(--bone)}.department-info p{margin:0;font-size:13px;color:var(--bone-mute);line-height:1.7}.onboarding-steps{display:flex;flex-direction:column;gap:12px;margin-bottom:12px}.onboarding-step{display:flex;gap:18px;padding:22px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base);transition:border-color .2s var(--ease-out)}.onboarding-step.done{border-color:var(--accent);background:var(--accent-soft)}.onboarding-step-num{width:36px;height:36px;border-radius:var(--radius);background:var(--rule);border:1px solid var(--rule-strong);color:var(--bone-mute);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-weight:500;font-size:13px;flex-shrink:0}.onboarding-step.done .onboarding-step-num{background:var(--accent);color:var(--ink-base);border-color:var(--accent)}.onboarding-step-body{flex:1 1}.onboarding-step-body h3{margin:0 0 4px;font-family:var(--font-display-jp);font-size:15.5px;font-weight:500;color:var(--bone)}.onboarding-step-body p{margin:0 0 12px;font-size:13px;color:var(--bone-mute);line-height:1.75}.onboarding-badge{display:inline-block;font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;padding:4px 12px;border-radius:var(--radius-full);background:var(--rule);color:var(--bone-mute)}.onboarding-badge.done{background:var(--accent-soft);color:var(--accent)}.onboarding-badge.pending{background:hsla(37,39%,62%,.12);color:var(--gold)}.profile-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.profile-header h2,.profile-header h3{margin:0}.profile-block{margin-top:24px}.profile-block h3{margin:0 0 14px;font-family:var(--font-display-jp)}.profile-dl{display:grid;grid-template-columns:150px 1fr;grid-gap:10px 18px;gap:10px 18px;font-size:14px;margin:0}.profile-dl dt{color:var(--bone-mute);font-family:var(--font-mono);font-size:10.5px;font-weight:500;letter-spacing:.14em;text-transform:uppercase}.profile-dl dd{margin:0;color:var(--bone-soft)}.consent-section{margin-bottom:0}.tpa-consent{display:flex;gap:14px;align-items:flex-start;cursor:pointer;font-size:14px;margin:0}.tpa-consent input[type=checkbox]{width:20px;height:20px;margin-top:2px;flex-shrink:0;accent-color:var(--accent);cursor:pointer}.tpa-consent-body{flex:1 1}.tpa-consent-title{font-family:var(--font-display-jp);font-weight:500;font-size:14.5px;margin-bottom:6px;color:var(--bone)}.tpa-consent-desc{font-size:13px;color:var(--bone-mute);line-height:1.75;margin:0 0 8px}.legal{color:var(--bone-soft);font-size:14px;line-height:1.9}.legal-scroll{max-height:420px;overflow-y:auto;padding:24px 28px;border:1px solid var(--rule);border-radius:var(--radius);background:var(--ink-base)}.legal-header{border-bottom:1px solid var(--rule);padding-bottom:22px;margin-bottom:28px}.legal-eyebrow{font-family:var(--font-mono);font-size:11px;font-weight:500;color:var(--accent);text-transform:uppercase;letter-spacing:.18em;margin:0 0 12px}.legal-title{font-family:var(--font-display-jp);font-size:19px;font-weight:500;line-height:1.5;margin:0 0 16px;color:var(--bone)}.legal-lead{font-size:13.5px;line-height:1.85;color:var(--bone-soft);margin:0 0 8px}.legal-chapter{margin-top:36px}.legal-chapter-title{font-family:var(--font-display-jp);font-size:16px;font-weight:500;border-left:2px solid var(--accent);padding-left:12px;margin:0 0 20px;line-height:1.45;color:var(--bone)}.legal-article{margin-top:24px}.legal-article-title{font-family:var(--font-body-jp);font-size:13.5px;font-weight:500;margin:0 0 10px;color:var(--bone)}.legal-article p{margin:0 0 10px}.legal-list{list-style:decimal;padding-left:24px;margin:6px 0 0}.legal-list>li{margin:0 0 8px;padding-left:4px}.legal-sublist{list-style:none;counter-reset:legal-sub;padding-left:12px;margin:8px 0 4px}.legal-sublist>li{counter-increment:legal-sub;position:relative;padding-left:32px;margin:0 0 6px}.legal-sublist>li:before{content:"(" counter(legal-sub) ")";position:absolute;left:0;color:var(--bone-mute);font-family:var(--font-mono);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.legal-sublist-alpha{counter-reset:legal-sub-alpha}.legal-sublist-alpha>li{counter-increment:legal-sub-alpha;padding-left:24px}.legal-sublist-alpha>li:before{content:counter(legal-sub-alpha,lower-alpha) "."}.legal-footer{margin-top:36px;padding-top:18px;border-top:1px solid var(--rule);text-align:right;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;color:var(--bone-mute)}@media (max-width:768px){main.container{padding:0 18px;margin:32px auto}.site-header{padding:0 18px}.section{padding:24px 22px}.department-grid,.form-grid,.retrieval-summary{grid-template-columns:1fr}.review-summary dl{grid-template-columns:110px 1fr}.legal-scroll{padding:18px;max-height:360px}}