/* Reusable presentation layer. Submission and validation remain server-owned. */
body[data-kn-form-ui]{--kn-f-ink:#263442;--kn-f-muted:#3f5365;--kn-f-blue:#0065af;--kn-f-line:#9cb3c6;--kn-f-pale:#f1f6fa;--kn-f-radius:18px;background:#f1f6fa;color:var(--kn-f-ink)}
body[data-kn-form-ui] #contents{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:48px 24px 64px;background:linear-gradient(160deg,#eaf4fb 0,#f4f7fa 420px);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Meiryo,"Hiragino Kaku Gothic ProN",sans-serif;font-size:16px;line-height:1.8;overflow-wrap:anywhere}
body[data-kn-form-ui] #contents *,body[data-kn-form-ui] #contents *::before,body[data-kn-form-ui] #contents *::after{box-sizing:border-box}
body[data-kn-form-ui] #contents .kn-form-eyebrow{margin:0 auto 8px;padding:0;color:#0065af;font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.16em;text-align:center}
body[data-kn-form-ui] #contents .kn-form-title{display:block;width:auto;max-width:900px;height:auto;margin:0 auto 30px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:#09243e;font-size:30px;font-weight:700;line-height:1.45;text-align:center}
body[data-kn-form-ui] #contents .kn-form-title::before,body[data-kn-form-ui] #contents .kn-form-title::after{content:none}
body[data-kn-form-ui] #contents :is(.modUserForm,.modInquiryForm,.modLoginForm,.commonFormMessage,.contents_inline){display:block;width:100%;max-width:940px;margin:0 auto;padding:0;border:0;background:none;box-shadow:none}
body[data-kn-form-ui="login"] #contents .modLoginForm,body[data-kn-form-ui="reminder"] #contents :is(.modLoginForm,.commonFormMessage){max-width:580px}
body[data-kn-form-ui="inquiry"] #contents .modInquiryForm{max-width:800px}
body[data-kn-form-ui] #contents :is(.formWrap,.commonFormMessage,.contents_m){display:block;width:100%;max-width:none;min-width:0;margin:0;padding:32px 36px;border:1px solid var(--kn-f-line);border-radius:var(--kn-f-radius);background:#fff;box-shadow:0 10px 32px #12304c12;float:none}
body[data-kn-form-ui] #contents :is(.formWrap,.contents_m)>:is(h2,h3){display:block;margin:0 0 16px;padding:0;border:0;background:none;color:#16354c;font-size:20px;line-height:1.6;text-align:left}
body[data-kn-form-ui] #contents p{font-size:inherit;line-height:1.8}
body[data-kn-form-ui] #contents .formWrap>p{margin:0 0 20px;color:var(--kn-f-muted)}
body[data-kn-form-ui] #contents :is(.formStyle,.formStyle--login,.loginflex,.loginflex>div,.commonFormBtn){display:block;float:none;width:100%;max-width:none;min-width:0;margin:0;padding:0;border:0;background:none;box-shadow:none}
body[data-kn-form-ui] #contents .loginflex{gap:0}
body[data-kn-form-ui] #contents .formStyle dl{display:grid;grid-template-columns:minmax(160px,25%) minmax(0,1fr);gap:0;width:100%;margin:0;padding:0;border:0;border-bottom:1px solid #b6c8d7;background:none;float:none}
body[data-kn-form-ui] #contents .formStyle dt{display:block;float:none;width:auto;min-width:0;margin:0;padding:24px 18px 24px 0;border:0;background:none;color:#16354c;font-size:15px;font-weight:700;line-height:1.7;text-align:left}
body[data-kn-form-ui] #contents .formStyle dd{display:block;float:none;width:auto;min-width:0;margin:0;padding:20px 0;border:0;background:none;color:#263442;font-size:15px;line-height:1.8;text-align:left}
body[data-kn-form-ui] #contents .formStyle dl::before,body[data-kn-form-ui] #contents .formStyle dl::after{content:none}
body[data-kn-form-ui] #contents :is(.requisite,.public,.kn-form-optional){display:inline-block;width:auto;min-width:0;margin:4px 0 0 6px;padding:2px 6px;border:1px solid #acbdcc;border-radius:5px;background:#f5f7f9;color:#42566a;font-size:12px;font-weight:600;line-height:1.5;vertical-align:middle;white-space:normal}
body[data-kn-form-ui] #contents .requisite{border-color:#cf8e86;background:#fff0ee;color:#a33b34}
body[data-kn-form-ui] #contents .formStyle :where(input:not([type=hidden]):not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]),select,textarea){display:inline-block;float:none;width:100%;max-width:100%;min-width:0;min-height:48px;height:auto;margin:4px 0;padding:11px 13px;border:1px solid #71889b;border-radius:9px;background:#fbfdff;box-shadow:inset 0 1px 2px #12304c04;color:#16354c;font-family:inherit;font-size:16px;font-weight:400;line-height:1.5;vertical-align:middle}
body[data-kn-form-ui] #contents .formStyle textarea{height:180px;min-height:180px;resize:vertical}
body[data-kn-form-ui] #contents .formStyle :is(input,select,textarea)::placeholder{color:#52677a;opacity:1}
body[data-kn-form-ui] #contents .formStyle :is(input,select,textarea):focus{border-color:#0065af;outline:3px solid #0065af30;outline-offset:1px;background:#fff}
body[data-kn-form-ui] #contents :is(a,button,input,select,textarea,[tabindex]):focus-visible{outline:3px solid #0065af;outline-offset:3px}
body[data-kn-form-ui] #contents .formStyle :is(input,select,textarea):disabled{background:#edf1f4;color:#516473;cursor:not-allowed;opacity:1}
body[data-kn-form-ui] #contents input:autofill{box-shadow:0 0 0 1000px #eef7ff inset}
body[data-kn-form-ui] #contents .formStyle :is(input[type=radio],input[type=checkbox]){width:19px;height:19px;min-width:19px;margin:7px 6px 7px 0;accent-color:#0065af;vertical-align:middle}
body[data-kn-form-ui] #contents .formStyle label{display:inline-block;max-width:100%;min-height:38px;margin-right:10px;line-height:1.8;cursor:pointer}
body[data-kn-form-ui] #contents dt label{min-height:0;margin:0;font:inherit}
body[data-kn-form-ui] #contents .formStyle input[type=file]{display:block;width:100%;max-width:100%;min-height:48px;margin:8px 0;padding:8px;border:1px dashed #71889b;border-radius:9px;background:#f1f7fb;color:#263442;font-family:inherit;font-size:16px}
body[data-kn-form-ui] #contents input[type=file]::file-selector-button{min-height:36px;margin-right:10px;padding:6px 12px;border:1px solid #91aabe;border-radius:6px;background:#fff;color:#0065af;font:inherit;cursor:pointer}
body[data-kn-form-ui] #contents .formStyle :is(.hint,.att){display:block;margin:3px 0 8px;color:#3f5365;font-size:13px;font-weight:400;line-height:1.75}
body[data-kn-form-ui] #contents .formStyle img{max-width:100%;height:auto}
body[data-kn-form-ui] #contents .formStyle :is(h2,h3){display:block;margin:28px 0 12px;padding:14px 16px;border:1px solid #a8bed0;border-radius:9px;background:#f0f6fa;color:#16354c;font-size:18px;font-weight:700;line-height:1.6}
body[data-kn-form-ui] #contents .personal-information{max-height:280px;margin:16px 0;padding:20px;border:1px solid #9cb3c6;border-radius:10px;background:#f8fafc;color:#3f5365;font-size:13px;line-height:1.85;overflow:auto;overscroll-behavior:contain}
body[data-kn-form-ui] #contents :is(.btnWrap,.confirmation-btn){display:flex;justify-content:center;flex-wrap:wrap;gap:12px;width:100%;margin:26px 0 0;padding:0;border:0;background:none}
body[data-kn-form-ui] #contents div.commonFormBtn{display:flex;justify-content:center;flex-wrap:wrap;gap:12px}
body[data-kn-form-ui] #contents :is(input[type=submit],input[type=button],button.kn-form-toggle){display:inline-flex;justify-content:center;align-items:center;width:auto;max-width:100%;min-width:180px;min-height:50px;height:auto;margin:0;padding:12px 24px;border:1px solid #005eb8;border-radius:9px;background:#005eb8;background-image:none;box-shadow:0 3px 8px #12304c16;color:#fff;font-family:inherit;font-size:16px;font-weight:700;line-height:1.5;text-align:center;text-shadow:none;cursor:pointer;appearance:none}
body[data-kn-form-ui] #contents :is(input[name=back],.btn_back,button.kn-form-toggle){border-color:#91aabe;background:#edf4f9;color:#0065af;box-shadow:none}
body[data-kn-form-ui] #contents :is(input[type=submit],input[type=button]):not(:disabled):hover{filter:brightness(.94)}
body[data-kn-form-ui] #contents input[type=submit]:active{transform:translateY(1px)}
body[data-kn-form-ui] #contents input[type=submit]:disabled{border-color:#aebdc8;background:#e6edf3;color:#516473;box-shadow:none;cursor:not-allowed;filter:none}
body[data-kn-form-ui] #contents button.kn-form-toggle{min-width:0;min-height:40px;margin:4px 0;padding:7px 12px;font-size:13px;vertical-align:middle}
body[data-kn-form-ui] #contents :is(.error,.error_message){margin:10px 0;padding:12px 14px;border:1px solid #c88782;border-radius:9px;background:#fff4f2;color:#9b302e;font-size:14px;line-height:1.8;text-align:left;overflow-wrap:anywhere}
body[data-kn-form-ui] #contents .formStyle [aria-invalid=true]{border-color:#bd534e;background:#fffaf9}
body[data-kn-form-ui] #contents .formStyleSide{width:100%;margin:22px 0 0;padding:16px;border:1px solid #a8bed0;border-radius:10px;background:#f4f8fb}
body[data-kn-form-ui] #contents .formStyleSide__message{margin:0;padding:0;background:transparent!important;color:#3f5365;font-size:13px}
body[data-kn-form-ui] #contents a{color:#0065af;text-underline-offset:3px}
body[data-kn-form-ui] #contents .loginflex form>p{margin:12px 0;font-size:14px}
body[data-kn-form-ui="login"] #contents .formStyle dl,body[data-kn-form-ui="reminder"] #contents .formStyle dl{grid-template-columns:minmax(0,1fr)}
body[data-kn-form-ui="login"] #contents .formStyle dt,body[data-kn-form-ui="reminder"] #contents .formStyle dt{padding:16px 0 4px}
body[data-kn-form-ui="login"] #contents .formStyle dd,body[data-kn-form-ui="reminder"] #contents .formStyle dd{padding:0 0 16px}
body[data-kn-form-ui] #contents .formStyle__autoLogin{margin:10px 0 0;font-size:13px}
body[data-kn-form-ui] #contents .formStyle table{width:100%;max-width:100%;margin:16px 0;border-collapse:collapse;table-layout:fixed;background:#fff}
body[data-kn-form-ui] #contents .formStyle :is(th,td){width:auto;padding:16px;border:1px solid #b6c8d7;color:#263442;font-size:15px;line-height:1.8;text-align:left;overflow-wrap:anywhere}
body[data-kn-form-ui] #contents .formStyle th{width:28%;background:#f2f7fb;color:#16354c;font-weight:700}
@media(max-width:767px){
 body[data-kn-form-ui] #contents{padding:28px 16px 40px}
 body[data-kn-form-ui] #contents .kn-form-title{margin-bottom:22px;font-size:25px}
 body[data-kn-form-ui] #contents .kn-form-eyebrow{font-size:11px}
 body[data-kn-form-ui] #contents :is(.formWrap,.commonFormMessage,.contents_m){padding:22px 18px;border-radius:14px}
 body[data-kn-form-ui] #contents .formStyle dl{grid-template-columns:minmax(0,1fr)}
 body[data-kn-form-ui] #contents .formStyle dt{padding:18px 0 3px;font-size:15px}
 body[data-kn-form-ui] #contents .formStyle dd{padding:0 0 18px}
 body[data-kn-form-ui] #contents :is(.formWrap,.contents_m)>:is(h2,h3){font-size:18px}
 body[data-kn-form-ui] #contents .formStyle :is(th,td){display:block;width:100%;padding:12px;border-bottom:0}
 body[data-kn-form-ui] #contents .formStyle tr:last-child td{border-bottom:1px solid #b6c8d7}
 body[data-kn-form-ui] #contents :is(input[type=submit],input[type=button]){flex:1 1 180px;width:100%;min-width:0}
 body[data-kn-form-ui] #contents .personal-information{padding:14px;font-size:13px}
}
@media(prefers-reduced-motion:reduce){body[data-kn-form-ui] #contents *{scroll-behavior:auto!important;transition:none!important}}

body[data-kn-form-ui] #contents .loginflex form{width:100%;max-width:100%;min-width:0}
body[data-kn-form-ui] #contents .commonFormMessage{max-width:940px;margin:0 auto}
body[data-kn-form-ui="reminder"] #contents .commonFormMessage{max-width:580px}

/* Compact login fields; keep input text and tap targets comfortably sized. */
body[data-kn-form-ui="login"] #contents .formWrap{padding:24px 28px}
body[data-kn-form-ui="login"] #contents .formStyle dl{border-bottom:0}
body[data-kn-form-ui="login"] #contents .formStyle dt{padding:6px 0 5px}
body[data-kn-form-ui="login"] #contents .formStyle dt label{min-height:0;line-height:1.5}
body[data-kn-form-ui="login"] #contents .formStyle dd{padding:0 0 12px}
body[data-kn-form-ui="login"] #contents .loginflex form>br{display:none}
body[data-kn-form-ui="login"] #contents .formStyle dd:has(>input#passwd){display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;column-gap:8px}
body[data-kn-form-ui="login"] #contents .formStyle dd:has(>input#passwd)>.formStyle__autoLogin{grid-column:1/-1;margin-top:6px}
body[data-kn-form-ui="login"] #contents .formStyle input:is(#mail,#passwd){min-height:46px;margin:0;padding:10px 12px}
body[data-kn-form-ui="login"] #contents .formStyle button.kn-form-toggle{min-height:46px;margin:0;padding:10px 12px}
body[data-kn-form-ui="login"] #contents .formStyle__autoLogin label{min-height:32px;margin-right:0}
body[data-kn-form-ui="login"] #contents .loginflex form>p{margin:8px 0}
body[data-kn-form-ui="login"] #contents .btnWrap{margin-top:20px}
/* More specific than the legacy .loginflex > div reset. */
body[data-kn-form-ui="login"] #contents .loginflex>.formStyleSide{margin:28px 0 0;padding:14px 16px;border:1px solid #a8bed0;border-radius:10px;background:#f0f6fb}
body[data-kn-form-ui="login"] #contents .formStyleSide__message{color:#3f5365;font-size:14px;line-height:1.8}

/* Confirmation screens: distinguish section, field name and entered value. */
body[data-kn-form-ui] #contents .formWrap:has(.formStyle--checkForm)>h2{margin-bottom:10px;color:#0065af;font-weight:700}
body[data-kn-form-ui] #contents .formWrap:has(.formStyle--checkForm)>p{padding:12px 16px;border:1px solid #a8bed0;border-radius:9px;background:#f0f6fb;color:#263442}
body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm{margin:24px 0 0;border:1px solid #91aabe;border-top:0;border-spacing:0;border-collapse:separate;border-radius:0 0 12px 12px;background:#fff}
body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>caption{margin:0;padding:12px 16px;border:1px solid #91aabe;border-radius:12px 12px 0 0;background:#e0edf8;color:#0065af;font-size:18px;font-weight:700;line-height:1.5;text-align:left}
body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr>:is(th,td){padding:14px 16px;border:0;border-bottom:1px solid #b6c8d7;vertical-align:top;color:#263442;font-size:15px;line-height:1.8}
body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr>th{width:28%;background:#edf4fa;color:#0a2744;font-weight:700}
body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr>td{background:#fff}
body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr:last-child>:is(th,td){border-bottom:0}
body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr:last-child>th{border-bottom-left-radius:12px}
body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr:last-child>td{border-bottom-right-radius:12px}
body[data-kn-form-ui] #contents .formStyle--checkForm table.commonForm table{margin:0;border-collapse:collapse}
body[data-kn-form-ui] #contents .formStyle--checkForm table.commonForm table :is(th,td){width:auto;padding:8px 10px;font-size:14px}
body[data-kn-form-ui] #contents .formStyle--checkForm table.commonForm td>img{width:auto;max-width:min(100%,112px);max-height:112px;object-fit:contain}
@media(max-width:767px){
 body[data-kn-form-ui="login"] #contents .formWrap{padding:20px 18px}
 body[data-kn-form-ui="login"] #contents .loginflex>.formStyleSide{padding:12px 14px}
 body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr>:is(th,td){display:block;width:100%;border-bottom:0}
 body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr>th{padding:10px 14px 6px}
 body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr>td{padding:8px 14px 12px;border-bottom:1px solid #b6c8d7}
 body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr:last-child>th{border-radius:0}
 body[data-kn-form-ui] #contents .formStyle--checkForm>table.commonForm>tbody>tr:last-child>td{border-radius:0 0 12px 12px}
 body[data-kn-form-ui] #contents .formStyle--checkForm .commonFormBtn{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
 body[data-kn-form-ui] #contents .formStyle--checkForm .commonFormBtn input{min-width:0;width:100%;padding-right:10px;padding-left:10px}
}

/* Restore native table semantics overridden by legacy commonForm rules. */
body[data-kn-form-ui] #contents .formStyle--checkForm table.commonForm{display:table;width:100%;table-layout:fixed}
body[data-kn-form-ui] #contents .formStyle--checkForm table.commonForm caption{display:table-caption}
body[data-kn-form-ui] #contents .formStyle--checkForm table.commonForm tbody{display:table-row-group;width:auto}
body[data-kn-form-ui] #contents .formStyle--checkForm table.commonForm tr{display:table-row;margin:0;padding:0}
body[data-kn-form-ui] #contents .formStyle--checkForm table.commonForm tr>:is(th,td){display:table-cell;float:none}
body[data-kn-form-ui="login"] #contents .formStyleSide__message{border:0;border-radius:0;box-shadow:none}
@media(max-width:767px){
 body[data-kn-form-ui] #contents .formStyle--checkForm table.commonForm,
 body[data-kn-form-ui] #contents .formStyle--checkForm table.commonForm :is(caption,tbody,tr,th,td){display:block;width:100%}
}

body[data-kn-form-ui] #contents .public2{display:inline-block;width:auto;min-width:0;margin:4px 0 0 6px;padding:2px 6px;border:1px solid #91aabe;border-radius:5px;font-size:12px;font-weight:600;line-height:1.5;vertical-align:middle;white-space:normal}
body[data-kn-form-ui] #contents :is(.public,.public2){border-color:#91aabe;background:#e0edf8;color:#0065af}

/* iOS date controls must shrink to the mobile form column. */
@media(max-width:767px){
 body:is([data-kn-form-ui=nUser],[data-kn-form-ui=cUser]) #contents .formStyle input[type=date][name=birthday]{display:block;box-sizing:border-box;width:100%;max-width:100%;min-width:0;min-inline-size:0;max-inline-size:100%;-webkit-appearance:none;appearance:none}
 body:is([data-kn-form-ui=nUser],[data-kn-form-ui=cUser]) #contents .formStyle input[type=date][name=birthday]::-webkit-date-and-time-value{min-width:0;text-align:left}
}


/* Consent has a full-width prompt followed by its checkbox, rather than two field columns. */
body:is([data-kn-form-ui=nUser],[data-kn-form-ui=cUser]) #contents .formStyle dl:has(input[name="consent[]"]){grid-template-columns:minmax(0,1fr);gap:8px;padding:16px 0}
body:is([data-kn-form-ui=nUser],[data-kn-form-ui=cUser]) #contents .formStyle dl:has(input[name="consent[]"])>dd{padding:0}
body:is([data-kn-form-ui=nUser],[data-kn-form-ui=cUser]) #contents .formStyle dl:has(input[name="consent[]"]) label{display:inline-flex;align-items:center;gap:8px;min-height:44px;margin:0;line-height:1.7}
body:is([data-kn-form-ui=nUser],[data-kn-form-ui=cUser]) #contents .formStyle dl:has(input[name="consent[]"]) input[type=checkbox]{flex:0 0 18px;width:18px;height:18px;margin:0}
