/* ページタイトル */
.page__title h1 {
    border-bottom: 5px solid var(--heavy__yellow);
}

/* input */

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

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

.checkbox__button {
    position: relative;
    margin-right: 0.5em;
    width: 16px;
    height: 16px;
    border: 1px solid var(--logo__font);
    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(--heavy__base2);
    content: "";
}

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

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

.check__btn {
    width: fit-content;
    padding: 0.5em 1em;
    background: var(--orange);
    border-radius: 2em;
    margin: 1em auto;
    transition: all 0.3s;
}

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

.submit {
    width: fit-content;
    padding: 0.5em 1em;
    background: var(--base__color2);
    color: var(--white);
    border-radius: 2em;
    margin: 0 auto;
    transition: all 0.3s;
}

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

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

.close__modal {
    width: fit-content;
    padding: 0.5em 1em;
    background: var(--base__color2);
    border-radius: 2em;
    margin: 0 auto;
    transition: all 0.3s;
}

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

/* お問い合わせ */

.contact__form__wrap {
    width: 100%;
    padding: 0 1em;
}

.contact__form__title {
    width: 100%;
    margin: 1em auto;
}

.contact__form__title h2 {
    font-size: 1.6rem;
    width: fit-content;
    margin: 0 auto;
    background: var(--white);
    border-radius: 2em;
    padding: 0.2em 1em;
    letter-spacing: 0.1em;
}

.contact__form {
    width: 100%;
    max-width: 1000px;
    background: var(--white);
    border-radius: 1em;
    margin: 2em auto;
    padding: 2em 1em;
    display: flex;
    flex-direction: column;
    gap: 1em;
}

.contact__form__inner {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.contact__form__inner h3 {
    font-size: 1.3rem;
}

/* モーダル */

.modal {
    width: 98%;
    max-width: 1000px;
    border-radius: 1em;
}

.contact__modal__title {
    width: 100%;
    margin: 1em auto;
}

.contact__modal__title h2 {
    font-size: 2rem;
    width: fit-content;
    margin: 0 auto;
    background: var(--yellow);
    border-radius: 2em;
    padding: 0.2em 1em;
    letter-spacing: 0.1em;
}

.modal__inner {
    width: 100%;
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: 1em;
    padding: 1em;
    margin: 0 auto;
}

.modal__inner h3 {
    font-size: 1.3rem;
}

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

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

.form__btn__wrap {
    display: flex;
    flex-direction: column;
    gap: 1em;
    align-items: center;
    justify-content: center;
}

/* 送信結果ページ＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊＊ */

.contact__send__wrap {
    width: 100%;
    padding: 0 1em;
}

.contact__send__title {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 2em;
    margin: 1em auto;
}

.contact__send__title h2 {
    font-size: 2rem;
    width: fit-content;
    margin: 0 auto;
    background: var(--white);
    border-radius: 2em;
    padding: 0.2em 1em;
    letter-spacing: 0.1em;
}

.contact__send__title p {
    width: fit-content;
    max-width: 700px;
    margin: 0 auto;
}

.contact__send {
    width: 100%;
    max-width: 1000px;
    background: var(--white);
    padding: 1em;
    border-radius: 1em;
    display: flex;
    flex-direction: column;
    gap: 1em;
    margin: 2em auto;
}

.contact__send h2 {
    font-size: 2rem;
    width: fit-content;
    margin: 1em auto;
    background: var(--yellow);
    border-radius: 2em;
    padding: 0.2em 1em;
    letter-spacing: 0.1em;
}

.contact__send__inner {
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.contact__send__inner h3 {
    font-size: 1.3rem;
}

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

/* footerのイラスト */

.footer__img {
    filter: brightness(0) saturate(100%) invert(84%) sepia(63%) saturate(553%) hue-rotate(338deg) brightness(92%) contrast(90%);
}