:root{color:#233129;background:#f4f7f4;font-family:Noto Sans JP,Yu Gothic UI,Yu Gothic,sans-serif;font-synthesis:none}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f4f7f4}button,input{font:inherit}button{cursor:pointer}button:disabled,input:disabled{cursor:wait;opacity:.58}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#app{position:relative;isolation:isolate;display:grid;grid-template-columns:minmax(380px,46%) minmax(0,54%);min-height:100vh;overflow:hidden}.auth-panel{position:relative;z-index:1;display:grid;min-width:0;min-height:100vh;padding:48px 28px;place-items:center;background:#f4f7f4}.auth-card{width:min(100%,400px);min-width:0;padding:36px 30px 26px;border:1px solid rgba(217,224,219,.95);border-radius:18px;background:#fff;box-shadow:0 18px 46px #10261b0f}.auth-brand-lockup{display:grid;gap:14px;margin-bottom:30px}.kot-logo{display:block;width:217px;max-width:100%;height:auto;aspect-ratio:217 / 70}.portal-name{display:flex;align-items:center;gap:12px;margin:0;color:#183327;font-size:18px;font-weight:700;letter-spacing:.05em}.portal-name span{padding:4px 9px;border-radius:5px;color:#147a42;background:#eaf4ec;font-size:11px;letter-spacing:.02em}.brand-panel{position:relative;z-index:1;display:grid;min-width:0;place-items:center;padding:clamp(36px,5vw,80px);color:#233e2f;border-left:1px solid #dce8de;background:radial-gradient(ellipse at top right,#dcebdc,transparent 70%),#eaf1e8}.common-id-guide{width:min(100%,540px)}.common-id-guide h2{margin:22px 0;color:#183b29;font-size:clamp(30px,3.2vw,48px);line-height:1.45;letter-spacing:.03em}.brand-copy{margin:0;color:#48624f;font-size:14px;line-height:1.9}.entry-steps{display:grid;gap:14px;margin:28px 0;padding-left:24px;font-size:13px;line-height:1.7}.entry-steps li{padding-left:6px}.entry-steps li::marker{color:#147a42;font-weight:700}.service-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:30px}.service-summary p{display:grid;gap:8px;margin:0;padding:18px;border:1px solid #cbdccc;border-radius:12px;background:#ffffff9c;overflow-wrap:anywhere}.service-summary strong{font-size:14px}.service-summary span{color:#5a7060;font-size:11px}.integration-note{margin:20px 0 0;color:#536b5b;font-size:12px;line-height:1.9}.common-id-note{margin:26px 0 0;padding:14px 0 0;border-top:1px solid #e0e8e1;color:#4c6455;font-size:12px;line-height:1.8}.eyebrow{margin:0 0 7px;color:#147a42;font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.auth-heading{margin-bottom:24px}.auth-heading h1,.auth-heading h2,.fatal h2,.signed-out h2{margin:0;color:#183327;font-size:24px}.auth-heading>p:last-child,.fatal p,.signed-out p{margin:9px 0 0;color:#65746a;font-size:12px;line-height:1.65}form{display:grid;gap:17px}label{display:grid;gap:8px;color:#34483c;font-size:12px;font-weight:700}label small{color:#78867d;font-weight:400}input[type=email],input[type=password],input[type=text]{width:100%;min-height:40px;padding:10px 12px;color:#233129;border:1px solid #cbd8ce;border-radius:6px;outline:none;background:#fff}input:focus{border-color:#149548;box-shadow:0 0 0 3px #14954821}.primary,.provider,.fatal button{width:100%;min-height:40px;padding:9px 12px;border-radius:6px;font-size:12px;font-weight:700}.primary,.fatal button{border:0;color:#fff;background:linear-gradient(105deg,#08773b,#10a24f);box-shadow:0 7px 16px #09773b38}.primary:hover,.primary:focus-visible,.fatal button:hover,.fatal button:focus-visible{background:linear-gradient(105deg,#075f30,#0c8541)}.provider{display:flex;align-items:center;justify-content:center;gap:9px;border:1px solid #cbd8ce;color:#2d4235;background:#fff}.provider+.provider{margin-top:9px}.provider span{display:grid;width:20px;height:20px;place-items:center;color:#1769aa;font-weight:800}.divider{display:flex;align-items:center;gap:10px;margin:18px 0;color:#8a96a8;font-size:11px}.divider:before,.divider:after{content:"";flex:1;height:1px;background:#e2e8ef}.text-actions{display:flex;justify-content:space-between;gap:10px;margin-top:17px}.link-button{padding:0;border:0;color:#08793c;background:transparent;font-size:10px;font-weight:700;text-decoration:underline;text-underline-offset:3px}.link-button.back{display:block;margin:20px auto 0}.action-link{display:block;text-align:center;text-decoration:none}.mfa-secret,.mfa-uri{margin:14px 0;padding:12px;border:1px solid #cbd8ce;border-radius:7px;background:#f6f8f7;overflow-wrap:anywhere}.mfa-secret code,.mfa-uri code{color:#183327;font-size:12px;user-select:all}.mfa-uri{color:#65746a;font-size:11px}.mfa-uri summary{cursor:pointer;font-weight:700}.registration-policy{display:grid;gap:8px;margin:0;color:#69778d;font-size:11px;line-height:1.65}.registration-consent{display:flex;flex-direction:row;align-items:flex-start;gap:8px}.registration-consent input{width:auto;margin-top:3px;flex:0 0 auto}.registration-consent span{display:block}.draft-policy{display:grid;gap:4px;margin:14px 0;padding:10px 12px;color:#7a4b00;border:1px solid #e7bd71;border-radius:7px;background:#fff8e8;font-size:11px;line-height:1.5}.registration-policy a,.policy-links a{color:#08793c}.policy-links{display:flex;justify-content:center;flex-wrap:wrap;gap:8px 16px;min-height:16px;margin-top:33px;font-size:10px}.notice,.error{margin:14px 0;padding:10px 12px;border-radius:7px;font-size:11px;line-height:1.55}.notice{color:#155f35;border:1px solid #acddba;background:#eff9f2}.error{color:#9b2c2c;border:1px solid #efb7b7;background:#fff3f3}.security-note{margin:14px 0 0;color:#667168;font-size:10px;line-height:1.7;overflow-wrap:anywhere;text-align:left}.loading{display:grid;justify-items:center;gap:16px;padding:24px;color:#66758a}.spinner{width:34px;height:34px;border:3px solid #dce6de;border-top-color:#1d9e48;border-radius:50%;animation:spin .85s linear infinite}.ciap-busy:after{content:"";position:fixed;inset:0;z-index:100;cursor:wait;background:#f4f7fb3d}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:860px){#app{grid-template-columns:1fr}.auth-panel{min-height:auto;padding:28px 18px}.auth-card{width:min(100%,400px);padding:28px 22px}.brand-panel{padding:32px 24px;border-left:0;border-top:1px solid #dce8de}.common-id-guide h2{font-size:30px}}@media(max-height:700px)and (min-width:861px){.auth-panel{place-items:start center;padding-block:24px}.auth-card{padding-block:24px 18px}.auth-brand-lockup{margin-bottom:28px}.policy-links{margin-top:22px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important}}.signed-out-actions{display:grid;gap:12px;margin-top:20px}.auth-steps{margin:16px 0;padding:14px 16px 14px 36px;border-radius:8px;background:#f2f7f4;color:#365a47;font-size:.86rem;line-height:1.65}.auth-steps li+li{margin-top:5px}.auth-recovery{margin:14px 0;padding:12px 14px;border:1px solid #d5e3da;border-radius:8px;font-size:.85rem;line-height:1.7}.auth-recovery summary{cursor:pointer;font-weight:600;color:#285c43}.auth-recovery p,.journey-note{color:#4c6054;font-size:.85rem;line-height:1.7}
