#contact dl {
    padding:60px 0;
    text-align:left;
}

#contact dd {
    margin-top:5px;
}
#contact dd + dt {
    margin-top:40px;
}

form dd[data-form-name="contact_ctg"] + dt ,
form dd[data-form-name="contact_ctg"] + dt + dd {
    display:none;
}
form dd[data-form-name="contact_ctg"] + dt.open ,
form dd[data-form-name="contact_ctg"] + dt.open + dd {
    display:block;
}

#contact select {
    max-width:100%;
}

.flex input {
    height:100%;
}

#contact dd > input:not([name="address"]) {
    max-width:50%;
}
#contact dd > input[name="postalcode"] {
    max-width:6em;
}

#contact dd :is(table, tr, th, td) {
    border:none;
}

main form :is(input, textarea, select, .privacy-policy) {
	border-radius:8px;
}
#contact dd p + :is(input, textarea, select) {
    margin-top:10px;
}

.not-null {
    display: inline-block;
    margin-left: 10px;
    background: var(--color-orange);
    color: var(--color-white);
    line-height: 1em;
    padding: 4px 5px;
    font-size: 0.8em;
}

.half-width {
    width:50%;
}
#contact dd > input.half-width {
    width:20%;
}

form textarea {
    max-width:100%;
}

.message {
    color:var(--color-red);
    font-weight:bold;
}
#contact dd em {
    display:block;
    font-style:normal;
    color:var(--color-white);
    background:var(--color-red);
    padding:5px 10px;
    margin-top:16px;
    border-radius:8px;
}
#contact dd em::before {
    content:'';
    width:20px;
    height:15px;
    clip-path: polygon(50% 0,100% 100%, 0 100%);
    position:absolute;
    top:-14px;
    left:10%;
    background:var(--color-red);
}

#contact dd label + label {
    margin-left:20px;
}
#contact dd table {
    background:none;
}
#contact dd table td {
    padding:0 20px 20px 0;
    background:none;
}

:is(.form-back, .form-send) {
    width:49%;
    min-width:260px;
    display:inline-block;
    margin:0;
}
:is(.form-back, .form-send) dt {
    display:none;
}
#contact :is(.form-back, .form-send) dl.form {
    padding:0;
}

main #contact .privacy-policy {
    display:none;
}
main form .privacy-policy {
    display:block !important;
    max-height:200px;
    border:solid 1px var(--color-outline);
    background:var(--color-white);
    padding:var(--padding);
    overflow-y:scroll;
    margin:0;
    margin-bottom:10px;
}
main form .privacy-policy h3 {
    font-size:1em;
}
main form .privacy-policy h4 {
    font-size:0.9em;
}
main form .privacy-policy :is(p, ul, ol) {
    font-size:0.8em;
}

#contact form dl dd:last-of-type {
    text-align:center;
}

main #contact .back-button {
	background:#aaa;
	font-size:1em;
    margin-top:5px;
    box-shadow:0 4px 0 var(--color-gray);
}


/* Media Query */
@media (max-width:920px ) {

}
@media (max-width:720px ){

}
@media (max-width:520px ){
    #contact dd > input ,
    #contact dd > textarea {
        max-width:100%;
    }

    .half-width {
        width:50%;
    }
    #contact dd > input.half-width {
        width:50%;
    }
    #contact dd > input[name="mailaddress"] {
        max-width:100%;
    }

    :is(.form-back, .form-send) {
        width:100%;
        display:block;
    }
}