﻿.login-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 5em);padding:2em 1em}.login-card{background-color:#ffffff;border:1px solid #ddd8c5;border-radius:14px;box-shadow:0 4px 20px rgba(36,54,96,0.12);padding:2.2em 2.4em;width:100%;max-width:400px}.login-site-name{text-align:center;font-size:0.85em;font-weight:700;color:#243660;letter-spacing:0.06em;margin-bottom:0.3em}.login-title{text-align:center;font-size:1.5em;font-weight:700;color:#243660;margin:0 0 1.6em;padding-bottom:0.6em;border-bottom:2px solid #ddd8c5}.login-field{margin-bottom:1.2em}.login-field label{display:block;font-size:0.85em;font-weight:600;color:#4a5878;margin-bottom:0.35em;letter-spacing:0.03em}.signup-recommend-box{background-color:rgba(196,168,50,0.08);border:1px solid rgba(196,168,50,0.35);border-radius:10px;padding:1em 1.1em 0.2em;margin-bottom:1.2em}.signup-recommend-box .login-field{margin-bottom:1em}.favorite-row{display:flex;align-items:center;gap:0.5em;margin-bottom:0.5em}.favorite-row input{flex:1}.favorite-row__remove{flex-shrink:0;background:none;border:1px solid #ef9a9a;color:#c62828;border-radius:6px;padding:0.55em 0.7em;cursor:pointer}.favorite-row__remove:hover{background:#ffebee}.favorite-add-row-btn{display:inline-flex;align-items:center;gap:0.4em;background:none;border:1px dashed #243660;color:#243660;border-radius:8px;padding:0.5em 1em;font-size:0.85em;cursor:pointer}.favorite-add-row-btn:hover{background:rgba(36,54,96,0.05)}.favorite-add-row-btn[hidden]{display:none}.favorite-chip-list{display:flex;flex-wrap:wrap;gap:0.4em;margin-bottom:0.6em}.favorite-chip-list:empty{margin-bottom:0}.favorite-chip{display:inline-flex;align-items:center;gap:0.4em;background:rgba(36,54,96,0.08);border:1px solid rgba(36,54,96,0.25);border-radius:16px;padding:0.35em 0.5em 0.35em 0.9em;font-size:0.82em;color:#243660}.favorite-chip__label{font-weight:600}.favorite-chip__remove{background:none;border:none;color:#4a5878;cursor:pointer;font-size:0.9em;padding:0 0.2em;line-height:1}.favorite-chip__remove:hover{color:#c62828}.favorite-picker-modal{position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;padding:1em}.favorite-picker-modal[hidden]{display:none}.favorite-picker-modal__overlay{position:absolute;inset:0;background:rgba(0,0,0,0.45)}.favorite-picker-modal__dialog{position:relative;z-index:1;background:#fff;border-radius:12px;width:100%;max-width:460px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,0.25)}.favorite-picker-modal__header{display:flex;align-items:center;justify-content:space-between;padding:0.9em 1em;border-bottom:1px solid #ddd8c5}.favorite-picker-modal__title{font-weight:700;color:#243660;font-size:0.95em}.favorite-picker-modal__close{background:none;border:none;font-size:1.1em;color:#4a5878;cursor:pointer}.favorite-picker-modal__close:hover{color:#243660}.favorite-picker-modal__search{margin:0.8em 1em;padding:0.6em 0.8em;border:1px solid #ddd8c5;border-radius:8px;font-size:0.9em}.favorite-picker-modal__search:focus{outline:none;border-color:#c4a832}.favorite-picker-modal__list{overflow-y:auto;padding:0 1em 1em;-webkit-overflow-scrolling:touch}.favorite-picker-item{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid #e6e3d5;padding:0.7em 0.4em;font-size:0.88em;color:#243660;cursor:pointer}.favorite-picker-item:hover{background:rgba(196,168,50,0.08)}.favorite-picker-item--added{color:#4a5878;opacity:0.6}.favorite-picker-item--added::after{content:" ✓ 追加済み（タップで解除）";font-size:0.85em;color:#c4a832}.favorite-picker-modal__loading,.favorite-picker-modal__empty,.favorite-picker-modal__more-loading{padding:1.2em 0.4em;text-align:center;font-size:0.85em;color:#4a5878}.favorite-picker-modal__more-loading{display:flex;align-items:center;justify-content:center;gap:0.5em}.favorite-picker-spinner{display:inline-block;width:1.1em;height:1.1em;border:2px solid rgba(196,168,50,0.3);border-top-color:#c4a832;border-radius:50%;animation:favorite-picker-spin 0.7s linear infinite}@keyframes favorite-picker-spin{to{transform:rotate(360deg)}}.signup-recommend-box__hint{display:flex;align-items:center;gap:0.4em;font-size:0.8em;font-weight:600;color:#c4a832;margin:0 0 1em;line-height:1.5}.signup-recommend-box__hint i{flex-shrink:0}.input{width:100%;padding:0.7em 0.9em;border:1px solid #ddd8c5;border-radius:8px;font-size:1em;color:#243660;background-color:#fff;box-sizing:border-box;transition:border-color 0.2s, box-shadow 0.2s}.input:focus{outline:none;border-color:#c4a832;box-shadow:0 0 0 3px rgba(196,168,50,0.15)}.login-button{width:100%;padding:0.8em;background-color:#243660;color:#fff;border:none;border-radius:22px;font-size:1em;font-weight:700;cursor:pointer;letter-spacing:0.06em;transition:background-color 0.2s, transform 0.1s;margin-top:0.4em}.login-button:hover{background-color:#192542;transform:translateY(-1px)}.login-button:active{transform:translateY(0)}.alert{background-color:#fff0f0;border:1px solid #f5a0a0;border-radius:8px;padding:0.8em 1em;margin-bottom:1.4em;color:#b30000;font-size:0.88em}.alert ul{margin:0;padding-left:1.2em}.links{margin-top:1.4em;padding-top:1em;border-top:1px solid #ddd8c5;text-align:center;font-size:0.88em}.links-main{display:flex;justify-content:center;gap:1.2em;margin-bottom:0.8em}.links-main a{display:inline-block;padding:0.45em 1.4em;border:1.5px solid #c4a832;border-radius:20px;color:#c4a832;font-weight:600;text-decoration:none;transition:background-color 0.18s, color 0.18s}.links-main a:hover{background-color:#c4a832;color:#fff}.links-main:empty{display:none}.links-sub{display:flex;flex-direction:column;gap:0.3em}.links-sub a{display:inline-block;color:#4a5878;font-size:0.85em;text-decoration:none}.links-sub a:hover{color:#c4a832;text-decoration:underline}.links-sub:empty{display:none}@media (max-width: 420px){.login-card{padding:1.6em 1.2em}}.signup-badge-required{display:inline-block;font-size:0.68em;font-weight:700;background-color:#e05252;color:#fff;border-radius:4px;padding:0.1em 0.45em;margin-left:0.35em;vertical-align:middle;letter-spacing:0.03em}.signup-badge-optional{display:inline-block;font-size:0.68em;font-weight:700;background-color:#243660;color:#fff;border-radius:4px;padding:0.1em 0.45em;margin-left:0.35em;vertical-align:middle;letter-spacing:0.03em}.signup-field-note{font-size:0.78em;color:#4a5878;margin:0.15em 0 0.4em}.signup-submit-btn{width:100%;padding:0.8em;background-color:#243660;color:#fff;border:none;border-radius:22px;font-size:1em;font-weight:700;cursor:pointer;letter-spacing:0.06em;transition:background-color 0.2s, transform 0.1s, opacity 0.2s;margin-top:0.4em}.signup-submit-btn:hover:not(:disabled){background-color:#192542;transform:translateY(-1px)}.signup-submit-btn:active:not(:disabled){transform:translateY(0)}.signup-submit-btn:disabled{background-color:#c8c0b4 !important;color:#f0ece8 !important;cursor:not-allowed !important;opacity:0.72 !important;transform:none !important}.signup-syurui-group{display:flex;gap:1.2em;flex-wrap:wrap;margin-top:0.5em}.signup-radio-label{display:flex;align-items:center;gap:0.35em;font-size:0.9em;color:#243660;cursor:pointer;accent-color:#c4a832}.login-field--remember{display:flex;align-items:center;gap:0.4em;font-size:0.88em}.login-field--remember input[type="checkbox"]{accent-color:#c4a832;width:1em;height:1em;cursor:pointer}.login-field--remember label{display:inline;margin:0;font-size:1em;cursor:pointer}.signup-agree-field{margin-top:0.2em}.signup-agree-label{display:flex;align-items:flex-start;gap:0.5em;font-size:0.88em;color:#243660;cursor:pointer;line-height:1.5}.signup-agree-label input[type="checkbox"]{accent-color:#c4a832;width:1.1em;height:1.1em;flex-shrink:0;margin-top:0.15em;cursor:pointer}.signup-agree-label a{color:#c4a832;text-decoration:underline}.signup-links{margin-top:1.4em;padding-top:1em;border-top:1px solid #ddd8c5;text-align:center}.signup-link-main{display:inline-block;padding:0.5em 1.8em;border:1.5px solid #c4a832;border-radius:20px;color:#c4a832;font-size:0.9em;font-weight:600;text-decoration:none;transition:background-color 0.18s, color 0.18s}.signup-link-main:hover{background-color:#c4a832;color:#fff}.signup-links-sub{margin-top:0.9em;display:flex;justify-content:center;flex-wrap:wrap;gap:0.4em 1.4em}.signup-links-sub a{font-size:0.82em;color:#4a5878;text-decoration:none}.signup-links-sub a:hover{color:#c4a832;text-decoration:underline}.mainbox_login{max-width:520px;margin:2em auto;padding:0 1em 3em}.login_title h2{font-size:1.5em;font-weight:700;color:#243660;padding-bottom:0.5em;border-bottom:2px solid #ddd8c5;margin-bottom:1.2em}.field,.field1,.field2{margin-bottom:1em}.field label,.field1 label,.field2 label{font-size:0.85em;font-weight:600;color:#4a5878}.field input[type="text"],.field input[type="email"],.field input[type="password"],.field input[type="url"],.field input[type="number"],.field select,.field textarea,.field1 input[type="text"],.field1 input[type="email"],.field1 input[type="password"],.field1 input[type="url"],.field1 input[type="number"],.field1 select,.field1 textarea,.field2 input[type="text"],.field2 input[type="email"],.field2 input[type="password"],.field2 input[type="url"],.field2 input[type="number"],.field2 select,.field2 textarea{display:block;width:100%;padding:0.65em 0.9em;border:1px solid #ddd8c5;border-radius:8px;font-size:0.95em;color:#243660;background-color:#fff;box-sizing:border-box;margin-top:0.3em;transition:border-color 0.2s, box-shadow 0.2s}.field input[type="text"]:focus,.field input[type="email"]:focus,.field input[type="password"]:focus,.field input[type="url"]:focus,.field input[type="number"]:focus,.field select:focus,.field textarea:focus,.field1 input[type="text"]:focus,.field1 input[type="email"]:focus,.field1 input[type="password"]:focus,.field1 input[type="url"]:focus,.field1 input[type="number"]:focus,.field1 select:focus,.field1 textarea:focus,.field2 input[type="text"]:focus,.field2 input[type="email"]:focus,.field2 input[type="password"]:focus,.field2 input[type="url"]:focus,.field2 input[type="number"]:focus,.field2 select:focus,.field2 textarea:focus{outline:none;border-color:#c4a832;box-shadow:0 0 0 3px rgba(196,168,50,0.15)}.field textarea,.field1 textarea,.field2 textarea{resize:vertical;min-height:100px}.button_login{margin-top:1.5em}.button_login input[type="submit"]{display:block;width:100%;padding:0.8em;background-color:#243660;color:#fff;border:none;border-radius:22px;font-size:1em;font-weight:700;cursor:pointer;letter-spacing:0.06em;transition:background-color 0.2s}.button_login input[type="submit"]:hover{background-color:#192542}.prof-page{max-width:640px;margin:0 auto 3em;padding:0 1em}.prof-card{margin-bottom:1.6em}.prof-section-heading{font-size:0.78em;font-weight:700;color:#4a5878;letter-spacing:0.1em;text-transform:uppercase;padding-bottom:0.6em;border-bottom:2px solid #ddd8c5;margin-bottom:1.2em}.annual-participation-list{display:flex;flex-direction:column;gap:0.7em}.annual-participation-list-item{display:flex;align-items:center;justify-content:space-between;gap:1em}.annual-participation-list-name{font-size:0.9em;font-weight:600}.affiliation-item-actions{display:flex;align-items:center;gap:1em}.affiliation-remove-btn{background:none;border:none;color:#4a5878;font-size:0.9em;cursor:pointer;padding:0.2em}.affiliation-remove-btn:hover{color:#c0392b}.affiliation-search{position:relative;margin-bottom:1em}.affiliation-search-results{position:absolute;top:100%;left:0;right:0;z-index:10;background:#fff;border:1px solid #ddd8c5;border-radius:8px;margin-top:0.3em;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px rgba(0,0,0,0.1)}.affiliation-search-results[hidden]{display:none}.affiliation-search-item{display:block;width:100%;text-align:left;background:none;border:none;border-bottom:1px solid #ddd8c5;padding:0.6em 0.9em;font-size:0.85em;cursor:pointer}.affiliation-search-item:last-child{border-bottom:none}.affiliation-search-item:hover{background:rgba(196,168,50,0.1)}.affiliation-search-empty{padding:0.6em 0.9em;font-size:0.82em;color:#4a5878}.signup-affiliation-list{display:flex;flex-direction:column;gap:0.5em;margin-top:0.6em}.signup-affiliation-item{display:flex;align-items:center;gap:0.6em;flex-wrap:wrap;background:rgba(36,54,96,0.06);border:1px solid rgba(36,54,96,0.2);border-radius:8px;padding:0.5em 0.7em}.signup-affiliation-item__name{flex:1 1 auto;min-width:6em;font-size:0.88em;font-weight:600;color:#243660}.signup-affiliation-item__actions{display:flex;align-items:center;gap:0.6em}.signup-affiliation-toggle{display:inline-flex;align-items:center;gap:0.3em;font-size:0.78em;color:#4a5878;cursor:pointer;white-space:nowrap}.signup-affiliation-remove{background:none;border:none;color:#4a5878;cursor:pointer;font-size:0.9em;padding:0 0.2em}.signup-affiliation-remove:hover{color:#c62828}.form-label-note{font-size:0.78em;color:#4a5878;font-weight:400;margin-left:0.4em}.input-prefix-group{display:flex;align-items:stretch}.input-prefix{display:flex;align-items:center;padding:0 0.75em;background-color:#eeeadc;border:1px solid #ddd8c5;border-right:none;border-radius:8px 0 0 8px;font-size:0.9em;color:#4a5878;font-weight:600;flex-shrink:0}.input-with-prefix{border-radius:0 8px 8px 0 !important;flex:1;min-width:0}.input-unit-group{display:flex;align-items:center;gap:0.5em}.input-unit{width:9em !important}.input-unit-prefix,.input-unit-suffix{font-size:0.9em;color:#4a5878;white-space:nowrap;flex-shrink:0}.vibe-edit-row{display:flex;align-items:center;gap:0.7em;margin-top:0.4em}.vibe-edit-label{font-size:0.82em;color:#4a5878;white-space:nowrap}.vibe-edit-slider{flex:1;accent-color:#c4a832;cursor:pointer}.prof-danger-zone{margin-top:2em;padding:1.2em 1.4em;background-color:#fff8f8;border:1px solid #fca5a5;border-radius:10px}.prof-danger-title{font-size:0.9em;font-weight:700;color:#b91c1c;margin:0 0 0.4em}.prof-danger-desc{font-size:0.82em;color:#7f4040;margin:0 0 0.9em;line-height:1.5}.btn-danger{display:inline-block;padding:0.45em 1.2em;background-color:transparent;color:#b91c1c;border:1px solid #b91c1c;border-radius:20px;font-size:0.85em;font-weight:600;cursor:pointer;transition:background-color 0.2s, color 0.2s;text-decoration:none}.btn-danger:hover{background-color:#b91c1c;color:#fff}.btn-back{display:inline-block;margin-left:1em;font-size:0.85em;color:#4a5878;text-decoration:none}.btn-back:hover{text-decoration:underline}.login-passkey{margin-top:1.2em}.login-or{display:flex;align-items:center;text-align:center;color:#9a8f7e;font-size:0.8em;margin:0.8em 0}.login-or::before,.login-or::after{content:"";flex:1;border-bottom:1px solid #e3dccd}.login-or span{padding:0 0.8em}.login-passkey-btn{width:100%;display:flex;align-items:center;justify-content:center;gap:0.5em;padding:0.8em 1em;background:#fff;color:#243660;border:1.5px solid #243660;border-radius:8px;font-size:0.95em;font-weight:700;cursor:pointer;transition:background 0.15s, color 0.15s}.login-passkey-btn:hover{background:#243660;color:#fff}.login-passkey-btn:disabled{opacity:0.6;cursor:default}.login-passkey-btn i{font-size:1.1em}.login-passkey-hint{font-size:0.76em;color:#8a7f6e;line-height:1.6;margin:0.7em 0 0;text-align:center}.login-passkey-hint strong{color:#243660;font-weight:700}.login-passkey-error{color:#c0392b;font-size:0.82em;margin:0.6em 0 0;text-align:center}.passkey-list{display:flex;flex-direction:column;gap:0.5em;margin:0.8em 0 1em}.passkey-item{display:flex;align-items:center;justify-content:space-between;gap:0.6em;padding:0.6em 0.8em;background:#f7f4ee;border:1px solid #e3dccd;border-radius:8px}.passkey-item-name{display:flex;align-items:center;gap:0.5em;font-size:0.88em;color:#243660;font-weight:600}.passkey-item-name i{color:#c4a832}.passkey-item-date{font-size:0.78em;color:#9a8f7e;font-weight:400}.passkey-remove-btn{background:none;border:none;color:#b0a99a;cursor:pointer;font-size:1em;padding:0.2em 0.4em;border-radius:6px}.passkey-remove-btn:hover{color:#c0392b;background:rgba(192,57,43,0.08)}.passkey-empty{font-size:0.85em;color:#9a8f7e;margin:0}.passkey-add-btn{display:inline-flex;align-items:center;gap:0.5em;padding:0.7em 1.2em;background:#243660;color:#fff;border:none;border-radius:8px;font-size:0.9em;font-weight:700;cursor:pointer;transition:background 0.15s}.passkey-add-btn:hover{background:#192542}.passkey-add-btn:disabled{opacity:0.6;cursor:default}.passkey-error{color:#c0392b;font-size:0.82em;margin:0.6em 0 0}
