/* input */

input[type=text],
input[type=email],
input[type=tel] {
    width: 100%;
    max-width: 30em;
    border: 1px solid var(--gray);
    padding: 0.5em;
    white-space: wrap;
}

textarea {
    width: 100%;
    height: 20em;
    border: 1px solid var(--gray);
    padding: 0.5em;
}

.checkbox__button {
    position: relative;
    margin-right: 0.5em;
    width: 16px;
    height: 16px;
    border: 1px solid var(--gray);
    border-radius: 50%;
    vertical-align: -2px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

.checkbox__button:checked::before {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--font__color);
    content: "";
}

.form__alert {
    background: var(--base__color2);
}

.form__alert::placeholder {
    color: var(--red);
}

.check__btn {
    width: fit-content;
    padding: 0.5em 1em;
    background: var(--blue);
    color:var(--white);
    margin: 1em auto;
    transition: all 0.3s;
}

.check__btn:hover {
    background: var(--white);
    color: var(--font__color);
    box-shadow: 0px 0px 3px var(--blue);
}

.submit {
    width: fit-content;
    padding: 0.5em 1em;
    background: var(--white);
    color: var(--gray);
    margin: 0 auto;
    transition: all 0.3s;
    box-shadow: 0px 0px 5px var(--gray);
}

.submit__able {
    width: fit-content;
    padding: 0.5em 1em;
    background: var(--red);
    color: var(--white);
    border:none;
    margin: 0 auto;
    transition: all 0.3s;
}

.submit__able:hover {
    background: var(--white);
    box-shadow: 0px 0px 3px var(--red);
    color: var(--font__color);
}

.close__modal {
    width: fit-content;
    padding: 0.5em 1em;
    background: var(--gray);
    color:var(--white);
    margin: 0 auto;
    transition: all 0.3s;
}

.close__modal:hover {
    background: var(--white);
    color:var(--font__color);
    box-shadow: 0px 0px 3px var(--font__color);
}

/* お問い合わせ */

.contact__wrap {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.contact__form {
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.contact__form__inner {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

/* モーダル */

.modal{
    width:90%;
    max-width: 1000px;
    padding:2em 1em;
}

.modal__inner{
    display:flex;
    flex-direction: column;
    gap:1em;
}

.contact__modal__title{
    text-align: center;
}

.modal__inner p{
    background:var(--base__color2);
    padding:1em;
}

.privacy__check{
    text-align: center;
    margin:1em auto;
}

.form__btn__wrap{
    display: flex;
    flex-direction: column;
    gap:1em;
}

/* 確認ページ */

.contact__send__wrap{
    display: flex;
    flex-direction: column;
    gap:2em;
}

.contact__send__title{
    display:flex;
    flex-direction: column;
    gap:1em;
}

.contact__send{
    display:flex;
    flex-direction: column;
    gap:1em;
}

.contact__send__inner{
    display:flex;
    flex-direction: column;
    gap:0.5em;
}

.contact__send__inner p{
    background:var(--base__color2);
    padding:1em;
}