/* login.css の設計を踏襲（430x932 論理キャンバス + ヘッダー基準配置） */
.screen {
  background-color: transparent;
  display: block;
  width: 100vw;
  height: 100vh;
  position: relative;
  overflow: hidden;
  font-size: initial;
}

/* 論理キャンバス（responsive-scaler.js が scale と left/top を付与） */
.screen .div#logicView {
  width: 430px;
  height: 932px;
  position: absolute;
  overflow: hidden;

  background-image: url(../img/background.png);
  background-size: cover;
  background-position: 50% 50%;

  border-radius: 28px;
  border: 1px solid #cfd8e3;
}

:root {
  /* login と同じ“ヘッダー高さ管理” */
  --reset-header-h: 270px;
  --reset-after-header-gap: 14px;
  --reset-field-gap: 16px;
}

/* ヘッダー */
.header {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: var(--reset-header-h);
  overflow: hidden;
}

.page-header {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* 説明文 */
.lead {
  position: absolute;
  top: calc(var(--reset-header-h) + var(--reset-after-header-gap));
  left: 8%;
  width: 84%;
  text-align: center;
  color: rgba(112, 112, 112, 0.85);
  font-size: 14px;
  line-height: 1.4;
  margin: 0;
}

/* 入力フィールド */
.field {
  position: absolute;
  width: 75.6%;
  height: 52px;
  left: 11.9%;
  background-color: rgba(255, 255, 255, 0.65);
  border-radius: 10px;
  border: 1px solid var(--al-qz-5o);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.06);
}

.field-email {
  top: calc(var(--reset-header-h) + var(--reset-after-header-gap) + 60px);
}

.field-input {
  position: absolute;
  height: 100%;
  width: calc(100% - 90px);
  top: 0;
  left: 48px;
  border: none;
  background: transparent;
  outline: none;

  font-family: "Rounded M+ 1c", "Noto Sans JP", system-ui, sans-serif;
  font-size: 16px;
  color: var(--zv-jk-3t);
}

.field-icon-left {
  position: absolute;
  width: 22px;
  height: 22px;
  top: 50%;
  left: 14px;
  transform: translateY(-50%);
  object-fit: contain;
  opacity: 0.9;
}

/* メッセージ */
.message {
  position: absolute;
  top: calc(
    var(--reset-header-h)
    + var(--reset-after-header-gap)
    + 60px
    + 52px
    + 14px
  );
  left: 8%;
  width: 84%;
  min-height: 22px;
  text-align: center;
  color: #2f6fe8;
  font-size: 14px;
  margin: 0;
}

/* 主ボタン（login の btn-login に寄せる） */
.btn-primary {
  position: absolute;
  left: 15%;
  top: calc(
    var(--reset-header-h)
    + var(--reset-after-header-gap)
    + 60px
    + 52px
    + 70px
  );
  width: 70%;
  height: 68px;
  border-radius: 18px;

  border: none;
  cursor: pointer;

  font-family: "Rounded M+ 1c", "Noto Sans JP", system-ui, sans-serif;
  font-size: 20px;
  font-weight: 900;
  letter-spacing: 0.05em;
  color: #fff;

  background: linear-gradient(180deg, #5aa7ff 0%, #2d7df6 100%);
  box-shadow: 0 16px 30px rgba(45, 125, 246, 0.35);

  transition: transform 0.08s ease, filter 0.15s ease;
}

.btn-primary:active {
  transform: translateY(2px) scale(0.99);
  filter: brightness(0.96);
}

/* 戻るリンク */
.links {
  position: absolute;
  top: calc(
    var(--reset-header-h)
    + var(--reset-after-header-gap)
    + 60px
    + 52px
    + 160px
  );
  left: 8%;
  width: 84%;
  text-align: center;
}

.linklike {
  color: #6ea2c8;
  text-decoration: underline;
  font-size: 16px;
}
