/* Display-crop the approved logo without changing its font, colors, or image. */
.niijimail-logo-frame {
  position: relative;
  display: inline-block;
  flex: 0 0 auto;
  width: 86px;
  aspect-ratio: 660 / 384;
  overflow: hidden;
  vertical-align: middle;
}
.niijimail-logo-frame .niijimail-logo-image {
  position: absolute !important;
  display: block !important;
  width: 190% !important;
  max-width: none !important;
  height: auto !important;
  max-height: none !important;
  left: -45.151515%;
  top: -101.302083%;
  margin: 0 !important;
  padding: 0 !important;
}
body.task-login,
body.task-login #layout,
body.task-login #layout-content {
  background: #280e3c !important;
}
body.task-login #layout-content {
  color: #fff;
  min-height: 100vh;
  overflow-y: auto;
}
body.task-login .niijimail-logo-frame {
  display: block;
  width: min(240px, 70vw);
  margin: 0 auto 24px;
}
body.task-login #login-form {
  max-width: calc(100vw - 40px);
}
body.task-login #login-footer {
  color: transparent;
  font-size: 0;
  line-height: 0;
}
body.task-login #login-footer > .support-link {
  display: none;
}
body.task-login .niijimail-login-help,
body.task-login .niijimail-footer {
  color: #f4eaff;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}
body.task-login .niijimail-login-help {
  margin: 18px 0 12px;
}
body.task-login .niijimail-footer p {
  margin: 0 0 8px;
}
body.task-login .niijimail-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  justify-content: center;
}
body.task-login .niijimail-footer a {
  color: #fff;
  text-decoration: underline;
  text-underline-offset: 3px;
}
body.task-login a:focus-visible,
body.task-login button:focus-visible,
body.task-login input:focus-visible {
  outline: 3px solid #fff !important;
  outline-offset: 3px;
}
@media (max-width: 480px) {
  body.task-login .niijimail-logo-frame { width: 200px; max-width: 70vw; }
  body.task-login .niijimail-footer { font-size: 13px; }
}

/* Explicit Elastic layout after replacing its native logo element. */
body.task-login #layout-content { display:flex !important; flex-direction:column; align-items:center; justify-content:center; min-height:100dvh; height:auto !important; padding:40px 20px; box-sizing:border-box; }
body.task-login #login-form { width:360px !important; max-width:100% !important; margin:0 !important; flex:0 0 auto; }
body.task-login #login-footer { margin-top:16px; }
body.task-login #login-footer .niijimail-footer { background:transparent !important; padding:0 !important; border:0; margin-top:16px; }
body.task-login #rcmloginsubmit { background:#7c1adb; border-color:#b97df2; color:#fff; font-weight:600; min-height:44px; }
body.task-login #rcmloginsubmit:hover { background:#6412b4; }

body.task-login #login-form { top:auto !important; bottom:auto !important; }
