/* 全面を選択領域にする。低い画面や文字拡大時にはレイヤー内でスクロール可能。 */
body.sc-entry-open { overflow: hidden; }
.sc-entry {
  /* 求人一覧・内職一覧と同じ最大幅で中央に配置する。 */
  width: 100%;
  max-width: 430px;
  margin-inline: auto;
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  z-index: 100000;
  height: 100vh;
  height: 100dvh;
  overflow-y: auto;
  display: grid;
  grid-template-rows: repeat(2, minmax(260px, 1fr));
}
.sc-entry[hidden] { display: none; }
.sc-entry__choice {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  width: 100%;
  margin: 0;
  border: 0;
  border-radius: 0;
  padding: 28px 20px;
  color: #dcdcdc;
  font-family: inherit;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}
/* 女性の画像だけを薄く重ね、文字と選択領域は不透明のまま保つ。 */
.sc-entry__choice::before {
  content: '';
  position: absolute;
  inset: 0;
  z-index: -1;
  background-repeat: no-repeat;
  background-position: right center;
  background-size: 100% auto;
  opacity: .10;
  pointer-events: none;
}
.sc-entry__choice--naishoku::before { background-image: url('../images/lady01.png'); }
.sc-entry__choice--jobs::before { background-image: url('../images/lady02.png'); }
.sc-entry__choice--naishoku {
  background: #41a990;
  padding-top: max(28px, env(safe-area-inset-top));
}
.sc-entry__choice--jobs {
  background: #2a9ebc;
  padding-bottom: max(28px, env(safe-area-inset-bottom));
}
.sc-entry__choice:focus-visible {
  outline: 3px solid #fff;
  outline-offset: -8px;
}
.sc-entry__choice:hover { color: #fff; }
.sc-entry__label { font-size: 16px; font-weight: 700; letter-spacing: .18em; }
.sc-entry__catch {
  font-size: clamp(30px, 6.5vw, 56px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .03em;
  padding-left: 0.5em;
}
.sc-entry__subtitle { font-size: clamp(18px, 4vw, 24px); line-height: 1.6; }
