/* sr-only: 視覚的に非表示、スクリーンリーダーのみ認識 */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}

/* reCAPTCHA v3 バッジをフッター（z-index:99）の上に表示 */
.grecaptcha-badge {
  z-index: 100 !important;
}

/* SP: ヘッダーにグラスモーフィズム効果 */
@media (width < 768px) {
  .l-header {
    background: rgb(255 255 255 / 0.5);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
  }
}

/* SP: recruit カルチャーセクションのレイアウト調整 */
@media (width < 768px) {
  /* 外側コンテナの左右余白を縮小 */
  .recruit-culture__inner.u-inner {
    padding-left: 10px;
    padding-right: 10px;
  }

  /* 内側カードコンテナの余白を縮小 */
  .recruit-culture-sec__con {
    padding-left: 14px;
    padding-right: 14px;
  }

  /* カード縦並び時の gap と角丸 */
  .recruit-culture-sec-card {
    gap: 10px;
  }
  .recruit-culture-sec-card__item {
    border-radius: 10px !important;
    padding-left: 10px;
    padding-right: 10px;
  }
}

/* ===== エントリーフォーム: 生年月日 ===== */
.entry-birth-fields {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.entry-birth-input {
  background: #fff;
  text-align: center;
}

.entry-birth-input--year {
  width: 6rem;
}

.entry-birth-input--md {
  width: 4rem;
}

/* number input のスピナー非表示 */
.entry-birth-input::-webkit-outer-spin-button,
.entry-birth-input::-webkit-inner-spin-button {
  appearance: none;
  -webkit-appearance: none;
  margin: 0;
}

.entry-birth-input[type="number"] {
  -moz-appearance: textfield;
}

/* ===== エントリーフォーム: ファイル選択ボタン ===== */
.entry-file-dropzone {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 12px;
  border: 1px solid var(--mh--color--grayscale-500, #ccc);
  border-radius: 8px;
  background: #fff;
  cursor: pointer;
  transition:
    border-color 0.2s,
    background 0.2s;
}

.entry-file-dropzone:hover {
  border-color: var(--mh--color--primary-500, #3b82f6);
  background: var(--mh--color--primary-50, #f0f7ff);
}

.entry-file-dropzone__text {
  color: var(--mh--color--primary-500, #3b82f6);
  font-weight: 600;
  font-size: 13px;
}

/* ===== エントリーフォーム: ファイルチップ（Gmail風） ===== */
.entry-file-chip {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  background: #fff;
  border-radius: 8px;
  padding: 4px 12px;
  max-width: 100%;
  border: 1px solid var(--mh--color--grayscale-500, #ccc);
}

.entry-file-chip__name {
  color: var(--mh--color--primary-500, #1a237e);
  font-weight: 600;
  font-size: 13px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  min-width: 0;
}

.entry-file-chip__remove {
  flex-shrink: 0;
  margin-left: auto;
  width: 2rem;
  height: 2rem;
  display: grid;
  place-items: center;
  border: none;
  background: transparent;
  color: var(--mh--color--grayscale-700, #999);
  border-radius: 50%;
  cursor: pointer;
  transition:
    background 0.15s,
    color 0.15s;
}

.entry-file-chip__remove:hover {
  background: var(--mh--color--grayscale-300, #eee);
  color: var(--mh--color--grayscale-900, #333);
}

/* グローバル svg { stroke: none } を上書き */
.entry-file-chip__remove svg {
  stroke: currentColor;
}
