body{margin:0;background:#EEF2EE;color:#1F2B25;font-family:'Google Sans Flex', 'Noto Sans JP', system-ui, sans-serif}
a{color:#2E6A4E}a:hover{color:#1F4D38}
input:focus,button:focus-visible{outline:3px solid #9CC7B0;outline-offset:1px}
input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
input[type=number]{-moz-appearance:textfield}
@keyframes lpfade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:no-preference){.lp-fade{animation:lpfade .28s ease-out}}
/* ---- ログイン・登録などの案内画面 ---- */
.lp-page{width:100%;min-height:100vh;background:#EEF2EE;display:flex;justify-content:center}
.lp-col{width:100%;max-width:480px;min-height:100vh;background:#F7F9F6;display:flex;flex-direction:column}
.lp-head{padding:16px 20px;background:#2E6A4E;color:#FFFFFF;font-size:20px;font-weight:700;letter-spacing:.04em}
.lp-main{padding:24px 20px;display:flex;flex-direction:column;gap:16px}
.lp-h1{margin:0;font-size:28px;line-height:1.4;color:#1F2B25}
.lp-h2{margin:0;font-size:22px;line-height:1.4}
.lp-lead{margin:0;font-size:15px;line-height:1.8;color:#43504A}
.lp-note{margin:0;font-size:14px;line-height:1.8;color:#1F4D38;background:#E6F0EA;border-radius:12px;padding:12px 14px}
.lp-error{margin:0;font-size:14px;line-height:1.7;color:#9A3B24;background:#FBEEE8;border-radius:12px;padding:12px 14px}
.lp-small{margin:0;font-size:12px;line-height:1.8;color:#5A6760}
.lp-btn{min-height:52px;border-radius:12px;border:1px solid #2E6A4E;background:#FFFFFF;color:#1F4D38;font-size:16px;font-weight:700;font-family:inherit;cursor:pointer;padding:0 16px}
.lp-primary{background:#2E6A4E;color:#FFFFFF}
.lp-link{min-height:44px;border:none;background:transparent;color:#2E6A4E;text-decoration:underline;font-size:14px;font-family:inherit;cursor:pointer;align-self:flex-start;padding:0 4px}
.lp-card{background:#FFFFFF;border:1px solid #D5DDD6;border-radius:14px;padding:14px 16px}
.lp-card summary{min-height:44px;display:flex;align-items:center;font-size:15px;font-weight:700;cursor:pointer}
.lp-form{display:flex;flex-direction:column;gap:12px;margin-top:8px}
.lp-form label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:700;color:#1F2B25}
.lp-form input[type=email],.lp-form input[type=password],.lp-form input[name=code]{height:52px;box-sizing:border-box;padding:0 12px;font-size:18px;border:1px solid #AEB9B0;border-radius:12px;background:#FFFFFF;font-family:inherit}
.lp-form .lp-check{flex-direction:row;align-items:flex-start;gap:10px;font-weight:400;line-height:1.7}
.lp-form .lp-check input{width:22px;height:22px;margin-top:3px;flex:none}
.lp-foot{margin-top:auto;padding:16px 20px 24px;border-top:1px solid #D5DDD6;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;color:#5A6760}
.lp-links{display:flex;gap:16px}
.lp-links a{min-height:44px;display:flex;align-items:center;color:#43504A}
.lp-doc{padding:24px 20px;font-size:15px;line-height:1.9;color:#1F2B25}
.lp-doc h1{font-size:22px}.lp-doc h2{font-size:17px;margin-top:28px}
.lp-doc table{border-collapse:collapse;width:100%;font-size:14px}.lp-doc th,.lp-doc td{border:1px solid #D5DDD6;padding:8px;text-align:left;vertical-align:top}
