.tomo-account-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.42);z-index:1998;opacity:0;visibility:hidden;transition:.28s}
.tomo-account-backdrop.open{opacity:1;visibility:visible}.tomo-account-drawer{position:fixed;z-index:1999;right:0;top:0;width:min(500px,100vw);height:100dvh;background:#fff;transform:translateX(100%);transition:transform .34s cubic-bezier(.22,1,.36,1);overflow:auto;font-family:"Noto Sans JP",sans-serif;color:#171717}
.tomo-account-drawer.open{transform:none}.tomo-account-head{height:76px;padding:0 28px;display:flex;align-items:center;justify-content:space-between}.tomo-account-head h2{font-size:22px;font-weight:500;margin:0}.tomo-account-head button{border:0;background:none;font-size:36px;font-weight:200;line-height:1;cursor:pointer}
.tomo-account-visual{height:210px;background:#ece8e2;display:grid;place-items:center;text-align:center}.tomo-account-visual span{display:block;font-size:13px;letter-spacing:.24em;margin-bottom:15px}.tomo-account-visual b{font-size:24px;line-height:1.35;letter-spacing:.05em}
.tomo-account-body{padding:38px 42px 42px}.tomo-account-body>p{font-size:13px;line-height:1.8;color:#555;margin:0 0 24px}.tomo-account-body label:not(.tomo-account-check){display:block;font-size:12px;margin:0 0 16px}
.tomo-account-body label:not(.tomo-account-check) input{display:block;width:100%;height:50px;border:1px solid #d3d0cc;background:#fff;padding:0 14px;margin-top:7px;outline:0}.tomo-account-body input:focus{border-color:#777}
.tomo-account-row{display:flex;justify-content:space-between;gap:15px;align-items:center;font-size:11px;color:#666}.tomo-account-check{display:flex;gap:6px;align-items:center}.tomo-forgot{color:#666;text-decoration:none}.tomo-account-error{min-height:18px!important;color:#b13b32!important;font-size:11px!important;margin:12px 0!important}
.tomo-account-submit{width:100%;height:54px;border:0;background:#171717;color:#fff;font-weight:700;letter-spacing:.08em;cursor:pointer}.tomo-account-switch{text-align:center;margin-top:24px;font-size:11px;color:#777}.tomo-account-switch button{border:0;background:none;text-decoration:underline;cursor:pointer;color:#333}
body.tomo-account-open{overflow:hidden}@media(max-width:600px){.tomo-account-head{height:68px;padding:0 20px}.tomo-account-visual{height:160px}.tomo-account-body{padding:28px 22px 36px}}

.tomo-captcha-row{display:grid;grid-template-columns:minmax(0,1fr) 130px;gap:10px;align-items:end}
.tomo-captcha-row input{margin-top:7px!important}
.tomo-captcha-row img{width:130px;height:50px;object-fit:contain;border:1px solid #d3d0cc;background:#fafafa;cursor:pointer}
@media(max-width:420px){.tomo-captcha-row{grid-template-columns:minmax(0,1fr) 110px}.tomo-captcha-row img{width:110px}}

/* V29: Account drawer photographic hero, shared by login and register */
.tomo-account-visual{height:210px;background:#dedddb url("/assets/tomo/images/account-drawer-dog.jpg?v=29") center 48% / cover no-repeat;display:block;}
@media(max-width:600px){.tomo-account-visual{height:160px;}}
