.banner {
    width: 100%;
    height: 450px;
    object-fit: cover;
}

.h1 {
    font-family: 'creamfont2.0';
    color: var(--color5);
    margin: 5% 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.h1 span {
    display: inline-block;
    margin: 0 20px;
    letter-spacing: 2px;
}

.contact {
    font-family: 'GenSekiGothic-R';
    color: var(--color5);
    margin: 0 auto 3em auto;
    padding: 0 5% 5% 5%;
    width: 80%;
}

.contact .row > div {
    padding: 3% 4%;
}

.contact label {
    font-size: 18pt;
    color: var(--color5);
    margin-bottom: 0.5rem;
}

.contact input {
    background-color: transparent;
    border-radius: 0;
    border-style: none none solid none;
    border-color: var(--color5);
    width: 100%;
    padding: 5px;
    font-size: 18pt;
}

.contact textarea {
    border-radius: 15px;
    border-color: var(--color5);
    background-color: #f6f1ea;
    width: 100%;
    padding: 5px;
    font-size: 18pt;
}

.contact button {
    margin: 15px;
    padding: 5px 25px;
    font-size: 16pt;
    color: white;
    background-color: var(--color6);
    border-radius: 25px;
}

.star, .required {
    font-size: 10pt;
    color: red;
}

.star{
    position: absolute;
    left: 5%;
}

.required {
    float: right;
}

.gender {
    margin-top: 10px;
    font-size: 18pt;
}

.gender span {
    margin: 0 60px 0 10px;
}

.check {
    font-size: 16pt;
    letter-spacing: 4px;
}

.choose {
    font-family: 'creamfont2.0';
    flex-grow: 1;
    font-size: 18pt;
    color: var(--color5);
    position: relative;
}

.choose:focus {
    color: var(--color4);
}

.choose .fa-chevron-up, .choose:focus .fa-chevron-down {
    display: none;
}

.choose:focus .fa-chevron-up, .choose .fa-chevron-down {
    display: inline;
}

.choose:focus > div:last-child {
    display: block;
}

.choose:focus-visible {
    outline: none;
}

.choose > div:first-child {
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;        
    padding: 10px 0;
    background-color: transparent;
    border-bottom: 2px solid var(--color5);
    font-size: 18pt;
}

.choose > div:last-child {
    display: none;
    position: absolute;
    top: 120%;
    left: 0;
    width: 100%;
    padding: 20px;
    border-radius: 10px;
    background-color: #f6f0ed;
    border-style: none;
    box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.1);
    z-index: 1;
}

.choose > div:last-child > div {
    color: var(--color5);
    padding: 5px;
    cursor: pointer;
    letter-spacing: 5px;
}

.choose > div:last-child > div:not(.d-none) ~ div:not(.d-none) {
    border-top: 1px solid #c4bebb;
}

.choose > div:last-child > div:hover {
    color: var(--color4);
}

.fa-circle, .fa-square, .fa-square-check {
    cursor: pointer;
    margin-right: 10px;
    font-size: 18pt;
    color: var(--color5);
}

.fa-solid.fa-circle, .fa-regular.fa-square-check {
    cursor: default;
    display: none;
}

.fa-solid.fa-circle {
    font-size: 15pt;
    color: var(--color4);
    border-radius: 50%;
    border: 2pt solid var(--color5);
}

.fa-regular.fa-square-check {
    color: var(--color5);
}

#googlemap {
    width: 100%;
    height: 520px;
    vertical-align: top;
}


@media screen and (max-width: 1650px) {
    
}

@media screen and (max-width: 1440px) {
    .gender,
    .fa-circle, .fa-square, .fa-square-check,
    .choose > div:first-child,
    .contact textarea,
    .contact label,
    .contact input,
    .choose {
        font-size: 18pt;
    }
    
}

@media screen and (max-width: 1200px) {
    .gender,
    .fa-circle, .fa-square, .fa-square-check,
    .choose > div:first-child,
    .contact textarea,
    .contact label,
    .contact input,
    .choose {
        font-size: 17pt;
    }

    .star {
        left: 3%;
    }
    
}

@media screen and (max-width: 992px) {

    .banner {
        height: 25vh;
    }

    .gender, .check,
    .fa-circle, .fa-square, .fa-square-check,
    .choose > div:first-child,
    .contact button,
    .contact textarea,
    .contact label,
    .contact input {
        font-size: 16pt;
    }

    .choose {
        font-size: 11pt;
    }

    .star {
        left: 0%;
        margin-left: 1em;
    }

    .contact label {
        margin-bottom: 2vh;
    }
    .contact input {
        margin-bottom: 2vh;
    }

    .contact .row > div {
        margin-bottom: 2vh;
        padding: 5% 5%;
    }

    .gender span {
        margin: 0 30px 0 10px;
    }

    #googlemap {
        height: 30dvh;
    }

}

@media screen and (max-width: 768px) {
    .gender, .check,
    .fa-circle, .fa-square, .fa-square-check,
    .choose > div:first-child,
    .contact button,
    .contact textarea,
    .contact label,
    .contact input {
        font-size: 15pt;
    }

    .choose {
        font-size: 10pt;
    }

    .star {
        left: 0%;
        margin-left: 0.5em;
    }

}