footer .modal{ display: none; }

.contact-form{
    width: 1100px;
    padding-top: 128px;
    margin: 0 auto;
}

.wpcf7{
    background: none;
    border: none;
}

.wpcf7 p{ margin-bottom: 0; }

.wrap > p,.privacy{ width: 824px; margin: 0 auto; }

.wpcf7 p.privacy{ margin-bottom: 64px; }

.wrap a:not(.btn){ text-decoration: underline; }

form table{ border-collapse: separate; border-spacing: 16px 32px; table-layout: fixed; width: 856px; margin: 0 auto; }

form th,form td{ display: table-cell; }

form th{ width: 200px; vertical-align: top; }

form th p{ margin-top: 3px; font-weight: 600; text-align: left; }

form th span:last-child{ margin-left: 8px; }
form th .haveto{ background: #e40000; }
form th .any{ background: #9f9f9f; }
form th .haveto,form th .any{ padding: 2px 4px; font-size: 0.8em; vertical-align: text-bottom; color: var(--white); }

.wpcf7 form td p{ width: 560px; margin-bottom: 0; }

.wpcf7 form .select td p{ width: fit-content; }

.wpcf7 form td > p{ font-size: 15px; line-height: 1.6; }

form td span>input,
form td span>textarea,
form td span>select {
    border-radius: 0;
    -webkit-appearance: none;
    appearance: none;
    border: 1px solid #cacaca;
    width: 560px;
    padding: 4px 6px;
    background: transparent;
}

form .select td span::after {
    content: '';
    width: 12px;
    height: 10px;
    position: absolute;
    top: 6px;
    right: 12px;
    background: linear-gradient(to bottom left, var(--main) 50%, transparent 50%) top left / 50% 100% no-repeat, linear-gradient(to bottom right, var(--main) 50%, transparent 50%) top right / 50% 100% no-repeat;
    z-index: -10;
}

.wpcf7 select,.wpcf7 .wpcf7-date{ width: 324px; max-width: unset; }

.wpcf7 .wpcf7-list-item{ display: inline-block; margin-left: 16px; }

.wpcf7 .wpcf7-list-item-label {
    display: inline-block;
    height: 20px;
    padding-left: 2px;
    font-size: 16px;
    line-height: 20px;
    position: relative;
}

.check .wpcf7-list-item-label { padding-left: 32px; }

.check .wpcf7-list-item-label::before {
    content: "";
    display: block;
    width: 20px;
    height: 20px;
    border: 2px solid var(--main);
    background: #fff;
    position: absolute;
    left: 0;
    top: 0;
    box-sizing: border-box;
}

.wpcf7 select{
    padding-right: 32px;
    cursor: pointer;
}

form .number input{ width: 80px; }

form .number span:first-child input{ margin-right: 4px; }
form .number span:last-child input{ width: 160px; }

.wpcf7-list-item:first-child{ margin-left: 0; }

form td a{ text-decoration: underline; position: relative; }

form td a::after{ 
    content: '';
    background: url(../img/external.svg);
    width: 12px;
    height: 12px;
    position: absolute;
    bottom: 3px;
    right: -14px; 
}

.contact form tr:last-child td p:first-child{ font-size: 14px; }
form .check td p:last-child,form .media td p:last-child{ margin-top: 8px; }

.opportunity td .wpcf7-list-item:last-child{ margin: 8px 0 0; }

.opportunity td .wpcf7-list-item:last-child.has-free-text{ display: flex; align-items: center; } 

.opportunity td .wpcf7-list-item:last-child.has-free-text input:last-child{ width: 86%; margin-left: 7px; } 

.other textarea{ resize: vertical; height: 200px; width: 100%; margin-top: 8px; }

.wrap .btn{ margin-top: 40px; }

main div:not(.thanks) .btn,div:not(.thanks) .btn:hover{ background: none; border: none; box-shadow: none; }

.btn p{ display: flex; justify-content: center; gap: 80px; }

.btn .wpcf7-submit,.btn .wpcf7-previous,.thanks .wp-block-button a{
    display: block;
    width: 320px;
    height: unset;
    padding: 16px 0;
    margin: 0 0 80px;
    text-align: center;
    cursor: pointer;
    transition: all .3s ease-in-out;
    font-weight: 600;
    border: none;
}

.thanks .wp-block-button a,.btn .wpcf7-submit{
    border: 2px solid #fff!important;
    background: var(--main);
    color: #fff;
}

.thanks .wp-block-button a,.btn .wpcf7-submit:hover{
    background: #fff;
    color: var(--main);
    border: 2px solid var(--main)!important;
}

.wpcf7-spinner,section.contact{ display: none; }

.wpcf7 form .wpcf7-response-output{ border: none; }

form .confirm table{ width: 640px; }

.confirm .btn input:nth-child(2){
    margin-left: 32px;
}

.confirm .btn input:first-child{ background: #cacaca; }

.confirm .btn input:first-child:hover{ border-color: #a9a9a9; opacity: 0.8; } 

.thanks .is-layout-flex{
    justify-content: center;
}

#container #return_top,#line_banner{ display: none; }

#autozip{ display: none!important; }

@media (max-width: 979px) {

    .key.common{ height: 48.533vw; }

    .inquiry{ margin-top: 5.333vw; }

    form table,.wrap > p, .privacy,.wpcf7 form td p,form td span>input, form td span>textarea, form td span>select{ width: 100%; }

    form th,form td{ display: block; width: 100%; }

    form td{ margin: 2.133vw 0 4.267vw; }

    form table{ border-spacing: 0; }

    .wpcf7 select, .wpcf7 .wpcf7-date,.wpcf7 form .select td p,div:not(.thanks).wrap .btn,.wpcf7 .wpcf7-submit,.btn .wpcf7-previous{ width: 100%; }

    .wrap a:not(.btn){ display: inline; }

    .wrap .btn{ padding: 0; margin: 6.4vw auto 10.667vw; }

    .privacy label{ display: flex; }

    .wpcf7 .privacy .wpcf7-list-item-label{ margin-left: 1.067vw; }
    
    .wpcf7 .privacy .wpcf7-list-item-label,.wrap > p{ font-size: 3.733vw; letter-spacing: 0; }

    .btn p{ flex-direction: column; gap: 8.533vw; margin-bottom: 16vw; }

    .confirm .btn input:nth-child(2){ margin-left: 0; }

    .wpcf7 p.privacy{ margin: 3.2vw 0 10.667vw; }

    main .btn{ height: unset; }

    .btn .wpcf7-submit, .btn .wpcf7-previous, .thanks .wp-block-button a{ margin-bottom: 0; }

    .key.common .txt .ttl.contact-ttl{ font-size: 6.4vw; line-height: 1.4; }

}