section.contact_section {
    margin-top: 2.65rem;
    margin-bottom: 1.2rem;
}

    @media screen and (max-width: 768px) and (orientation: portrait) {section.contact_section {
        margin-top: 1rem;
        margin-bottom: 0.8rem
}
    }

    section.contact_section .layout {
        display: flex;
        position: relative;
        border-top: 0.01rem solid var(--grey);
    }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .layout {
            flex-direction: column;
            border-top: none
    }
        }

    section.contact_section .layout .label {
            margin-top: .15rem;
        }

    section.contact_section .layout .travel-dot-h {
            position: absolute;
            top: 0;
            left: 0;
        }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .layout .travel-dot-h {
                display: none
        }
            }

    section.contact_section .layout .travel-dot-v {
            position: absolute;
            top: 0;
            right: 0;
        }

    section.contact_section .layout>div {
            width: 50%;
        }

    section.contact_section .layout>div:first-of-type {
            position: relative;
            padding: 0.7rem 1.7rem;
            border-right: 0.01rem solid var(--grey);
            overflow: hidden;
        }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .layout>div:first-of-type {
                border-right: 0
        }
            }

    section.contact_section .layout>div:last-of-type {
            padding: 0.6rem 0.7rem;
        }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .layout>div:last-of-type {
                width: 100%;
                padding: .42rem .2rem
        }
            }

    section.contact_section .form-part {
        display: flex;
        gap: 0.8rem;
        padding-left: 0.7rem;
        padding-right: 0.7rem;
        padding-top: 1.2rem;
        border-top: 0.01rem solid var(--grey);
    }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .form-part {
            flex-direction: column;
            padding-left: .2rem;
            padding-right: .2rem;
            padding-top: .3rem;
            gap: 0.4rem
    }
        }

    section.contact_section .form-part .form-wrap {
            width: 10.54rem;
        }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .form-part .form-wrap {
                width: 100%
        }
            }

    section.contact_section .form-part .form-wrap .gform_confirmation_message {
                font-size: 0.3rem;
                line-height: 1;
                letter-spacing: -0.02em;
                font-weight: 500;
            }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .form-part .form-wrap .gform_confirmation_message {
                    font-size: 0.2rem;
                    line-height: 1
            }
                }

    section.contact_section .form-part .form-wrap .form form button[type="submit"] {
                        background-color: var(--black);
                        width: 100%;
                    }

    section.contact_section .form-part .form-wrap .form form button[type="submit"]:hover {
                            color: var(--white);
                            background-color: var(--orange);
                        }

    section.contact_section .form-part .form-wrap .form form button[type="submit"]:hover line {
                                stroke: var(--white);
                            }

    section.contact_section .form-part .form-wrap .form form button[type="submit"]:hover span:first-child {
                                transform: translate3d(0, -110%, 0);
                                transition-delay: 0ms;
                            }

    section.contact_section .form-part .form-wrap .form form button[type="submit"]:hover span:last-child {
                                transform: translate3d(0, 0%, 0) scale(1);
                                transition-delay: 100ms;
                            }

    section.contact_section .form-part .form-wrap .form form .gform_fields {
                        column-gap: 0.2rem;
                        row-gap: 0.2rem;
                    }

    section.contact_section .form-part .form-wrap .form form .gfield.gfield--type-select label {
                            display: none;
                        }

    section.contact_section .form-part .form-wrap .form form .gfield {
                        position: relative;

                        /* Move label up when input is focused or has content */
                    }

    section.contact_section .form-part .form-wrap .form form .gfield:focus-within,
                        section.contact_section .form-part .form-wrap .form form .gfield:focus,
                        section.contact_section .form-part .form-wrap .form form .gfield.active {
                            outline: none;
                        }

    section.contact_section .form-part .form-wrap .form form .gfield:focus-within label, section.contact_section .form-part .form-wrap .form form .gfield:focus label, section.contact_section .form-part .form-wrap .form form .gfield.active label {
                                top: 0.1rem;
                                font-size: .1rem;
                                line-height: 1;
                                height: 0.1rem;
                            }

    section.contact_section .form-part .form-wrap .form form .gfield:focus-within label .gfield_required .gfield_required_text::before, section.contact_section .form-part .form-wrap .form form .gfield:focus label .gfield_required .gfield_required_text::before, section.contact_section .form-part .form-wrap .form form .gfield.active label .gfield_required .gfield_required_text::before {
                                            font-size: .1rem;
                                            line-height: 1;
                                        }

    section.contact_section .form-part .form-wrap .form form .gfield:focus-within input,
                            section.contact_section .form-part .form-wrap .form form .gfield:focus-within textarea,
                            section.contact_section .form-part .form-wrap .form form .gfield:focus input,
                            section.contact_section .form-part .form-wrap .form form .gfield:focus textarea,
                            section.contact_section .form-part .form-wrap .form form .gfield.active input,
                            section.contact_section .form-part .form-wrap .form form .gfield.active textarea {
                                padding-bottom: .16rem !important;
                                padding-top: .32rem !important;
                            }

    section.contact_section .form-part .form-wrap .form form .gfield:focus-within input:focus, section.contact_section .form-part .form-wrap .form form .gfield:focus-within textarea:focus, section.contact_section .form-part .form-wrap .form form .gfield:focus input:focus, section.contact_section .form-part .form-wrap .form form .gfield:focus textarea:focus, section.contact_section .form-part .form-wrap .form form .gfield.active input:focus, section.contact_section .form-part .form-wrap .form form .gfield.active textarea:focus {
                                    outline: none;
                                }

    section.contact_section .form-part .form-wrap .form form .gfield:focus-within textarea, section.contact_section .form-part .form-wrap .form form .gfield:focus textarea, section.contact_section .form-part .form-wrap .form form .gfield.active textarea {
                                padding-top: .17rem !important;
                            }

    section.contact_section .form-part .form-wrap .form form .gfield:focus-within.gfield--type-textarea label, section.contact_section .form-part .form-wrap .form form .gfield:focus.gfield--type-textarea label, section.contact_section .form-part .form-wrap .form form .gfield.active.gfield--type-textarea label {
                                    top: 0.1rem;
                                    padding-top: 0.1rem;
                                }

    @media screen and (max-width: 768rem) and (orientation: portrait) {

    section.contact_section .form-part .form-wrap .form form .gfield:focus-within.gfield--type-textarea label, section.contact_section .form-part .form-wrap .form form .gfield:focus.gfield--type-textarea label, section.contact_section .form-part .form-wrap .form form .gfield.active.gfield--type-textarea label {
                                        padding-top: 0.1rem
                                }
                                    }

    section.contact_section .form-part .form-wrap .form form .gfield:not(.active):hover label {
                                    opacity: 1;
                                }

    section.contact_section .form-part .form-wrap .form form .gfield label {
                            position: absolute;
                            font-size: .14rem;
                            line-height: 1;
                            font-weight: 500;
                            margin-bottom: 0;
                            top: 0.14rem;
                            left: 0.16rem;
                            display: block;
                            line-height: 1;
                            transition: 300ms ease-in-out;
                            cursor: text;
                            color: var(--black);
                            display: flex;
                            align-items: center;
                            align-content: center;
                            height: 0.14rem;
                        }

    @media screen and (max-width: 768px) {

    section.contact_section .form-part .form-wrap .form form .gfield label {
                                font-size: .14rem;
                                line-height: .18rem;
                                height: 0.18rem
                        }
                            }

    section.contact_section .form-part .form-wrap .form form .gfield label .gfield_required .gfield_required_text {
                                    font-size: 0;
                                    /* 
                                        &::before {
                                            content: "*";
                                            font-size: .14rem;
                                            line-height: 1;
                                            font-weight: 500;
                                            transition: 300ms ease-in-out;
                                        } */
                                }

    section.contact_section .form-part .form-wrap .form form .gfield input,
                        section.contact_section .form-part .form-wrap .form form .gfield textarea {
                            padding: .13rem .16rem !important;
                            transition: 300ms ease-in-out;
                            border-radius: 0.04rem;
                            border: none;
                            box-shadow: none;
                            font-size: 0.14rem;
                        }

    section.contact_section .form-part .form-wrap .form form .gfield select {
                            padding: .13rem .16rem !important;
                            transition: 300ms ease-in-out;
                            height: .46rem;
                            border-radius: 0.04rem;
                            border: none;
                            box-shadow: none;
                            background-color: #ffffff;
                            font-size: .14rem;
                            line-height: 1;
                            font-weight: 500;
                        }

    section.contact_section .form-part .form-wrap .form form .gfield select:focus {
                                outline: none;
                            }

    section.contact_section .form-part .form-wrap .form form .gfield input {
                            height: .46rem;
                        }

    section.contact_section .form-part .form-wrap .form form .gfield--type-textarea label {
                            background-color: #ffffff;
                            left: 0;
                            top: 0 !important;
                            padding: 0.1rem 0.15rem;
                            padding-top: 0.15rem;
                            width: calc(100% - 0.15rem);
                        }

    @media screen and (max-width: 768rem) and (orientation: portrait) {

    section.contact_section .form-part .form-wrap .form form .gfield--type-textarea label {
                                padding: 0.1rem 0.15rem;
                                padding-top: 0.2rem
                        }
                            }

    section.contact_section .form-part .form-wrap .form form .gfield--type-textarea textarea {
                            min-block-size: 2.02rem;
                        }

    section.contact_section .form-part .form-wrap .form form .charleft {
                        display: none;
                    }

    section.contact_section .form-part .contact-boxes {
            width: 2.78rem;
        }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .form-part .contact-boxes {
                width: 100%
        }
            }

    section.contact_section .form-part .contact-boxes .contact-box .contact-label {
                    text-transform: uppercase;
                    margin-bottom: .2rem;
                }

    section.contact_section .form-part .contact-boxes .contact-box .content {
                    width: 2.13rem;
                }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .form-part .contact-boxes .contact-box .content {
                        width: 1.64rem
                }
                    }

    section.contact_section .form-part .contact-boxes .contact-box .content p {
                        font-size: .24rem;
                        line-height: .3rem;
                    }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .form-part .contact-boxes .contact-box .content p {
                            font-size: .18rem;
                            line-height: .24rem
                    }
                        }

    section.contact_section .form-part .contact-boxes .contact-box:first-child {
                    padding-bottom: .6rem;
                }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .form-part .contact-boxes .contact-box:first-child {
                        padding-bottom: .3rem
                }
                    }

    section.contact_section .form-part .contact-boxes .contact-box:last-child {
                    padding-top: .6rem;
                    border-top: 0.01rem solid var(--grey);
                }

    @media screen and (max-width: 768px) and (orientation: portrait) {

    section.contact_section .form-part .contact-boxes .contact-box:last-child {
                        padding-top: .3rem
                }
                    }