
@charset "UTF-8";

.invalid-feedback {
    display: none;
    font-size: 1.5rem;
    color: #c94545;
}
:invalid ~ .invalid-feedback,
:invalid ~ .invalid-tooltip,
.is-invalid ~ .invalid-feedback,
.is-invalid ~ .invalid-tooltip {
    display: block;
}
/* 生年月日(和暦) */
.form__birthday {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
    width: 100%;
}
/* 既定の input/select (width:100%) を上書きして横一列に並べる */
#page-form #form-temp .form__wrapper .form__list .form__item .form__birthday select.input__text,
#page-form #form-temp .form__wrapper .form__list .form__item .form__birthday input.input__text {
    width: auto;
    flex: 1 1 0;
    min-width: 0;
    padding: 8px 4px 8px 8px;
}
#page-form #form-temp .form__wrapper .form__list .form__item .form__birthday select.input__text.--era {
    flex-grow: 1.4;
}
#page-form #form-temp .form__wrapper .form__list .form__item .form__birthday input.input__text.--num {
    text-align: center;
    padding-left: 2px;
}
.form__birthday-unit {
    flex: 0 0 auto;
    white-space: nowrap;
}
.form__birthday .invalid-feedback {
    flex-basis: 100%;
    width: 100%;
}
@media screen and (max-width: 959px) {
.form__birthday {
    gap: 6px;
  }
}
/* ラジオボタン(SP・PCとも横並び) */
.form__radio {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    gap: 8px 32px;
}
/* プレースホルダー
   サイト共通CSSが ::placeholder { color: unset } でブラウザ既定のグレーを
   打ち消し、入力文字と同じ黒になっているため指定し直す */
#page-form #form-temp .form__wrapper ::placeholder {
    color: #999;
    opacity: 1;
}
#page-form #form-temp .form__wrapper ::-moz-placeholder {
    color: #999;
    opacity: 1;
}
/* プルダウンの未選択時の案内文も、入力欄のプレースホルダーと同じグレーにする
   (value 属性を持たない案内用 option が選ばれている間だけ適用) */
#page-form #form-temp .form__wrapper select.input__text:has(option:not([value]):checked) {
    color: #999;
}
/* 上のグレーは閉じた状態の案内文だけに効かせ、
   開いたときの選択肢は本文と同じ色に戻す */
#page-form #form-temp .form__wrapper select.input__text option {
    color: #333;
}
