@charset 'utf-8';
.red {
    color: var(--color1);
}
.base-grid {
    display: grid;
    grid-template-columns: repeat(12, 1fr);
    gap: 0 1.6rem;
}
.contact01 .site__section__block {
    align-items: flex-start;
}
.contact01 .lower__header {
    grid-column: 1/span 5;
    padding: 0;
}
.contact01 .error_m {
    color: var(--site-color-red);
    font-size: .8em;
    margin: 1em 0 0;
}
.contact01 .error input,.contact01 .error textarea,.contact01 .error select {
    border-color: var(--site-color-red);
}
form,
.contact-comp .contact01__cont {
    grid-column: 7/span 6;
    margin: 3.2rem 0 0;
}
.contact01__cont__item {
    margin: 0 0 2em;
}
.contact01__cont__item dt {
    margin: 0 0 .8em;
}
.contact01__cont__item dt .text {
    display: block;
    font-weight: 700;
}
.contact01__cont__item dt .req::after {
    content: "*";
    color: var(--color1);
}
.lower__header__text{
    font-weight: 500;
    margin: 2rem 0 0;
    line-height: 1.75;
}
@media screen and (max-width: 1023px) {
    form,
    .contact-comp .contact01__cont {
        margin:10rem 0 0;
    }
}
.contact01 input,.contact01 textarea,.contact01 select {
    display: block;
    width: 100%;
    box-sizing: border-box;
    padding: .8em 1em;
    line-height: 24px;
    background-color: #fff;
    border: solid 1px #c8c8c8;
}
.contact01 input:focus,.contact01 textarea:focus,.contact01 select:focus {
    border-color: var(--color1);
}
.contact01 input:disabled,.contact01 textarea:disabled,.contact01 select:disabled {
    background-color: #eee;
    border-color: #ddd;
}
.contact01 .check__list {
    display: flex;
    align-items: stretch;
    flex-wrap: wrap;
    margin: 0 0 3em;
}
.contact01 .check__list li input {
    display: none;
}
.contact01 .check__list li label {
    position: relative;
    display: flex;
    padding-left: 1.6em;
    line-height: 1.1em;
}
.contact01 .check__list li label:before {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    width: 1.1em;
    height: 1.1em;
    background-color: #fff;
    border: solid 1px #707070;
}
.contact01 .check__list li label:after {
    content: "";
    display: none;
    position: absolute;
    top: .2em;
    left: .4em;
    width: .3em;
    height: .5em;
    transform: rotate(40deg);
    border-bottom: 3px solid #fff;
    border-right: 3px solid #fff;
    border-radius: 1px;
}
.contact01 .check__list li input[type=radio]+label::before {
    top: -0.1em;
    border-radius: 50%;
    transform: translateY(0%);
}
.contact01 .check__list li input[type=radio]+label:after {
    width: .7em;
    height: auto;
    aspect-ratio: 1/1;
    border: none;
    background-color: var(--color1);
    transform: none;
    border-radius: 50%;
    top: .18em;
    left: .3em;
}
.contact01 .check__list li input:checked+label:before {
    background-color: var(--color1);
    border-color: var(--color1);
}
.contact01 .check__list li input:checked+label:after {
    display: block;
}
.contact01 .check__list li input[type=radio]:checked+label:before {
    background-color: #fff;
    border: solid 1px #707070;
}
.contact01__aside {
    line-height: 1.8;
    margin: 0 0 1em;
}
.contact01 .site__btn .inner {
    width: 100%;
}
.site__section__sub-block__link .site__btn input {
    display: initial;
    width: initial;
    box-sizing: initial;
    padding: 0;
    line-height: initial;
    background-color: none;
    border: none;
}
.contact01__cont{
    grid-column: 7 / span 6;
}
@media screen and (max-width: 1023px) {
    .lower__section__header {
        display: block;
    }
    form, .contact-comp .contact01__cont {
        margin: 7rem 0 0;
    }
    .contact01__cont{
        margin-top: 32px;
    }
}
@media screen and (max-width: 767px) {
    form, .contact-comp .contact01__cont {
        margin: 5.6rem 0 0;
    }
    .site__section__sub-block__link {
        flex-wrap: wrap;
        gap: 1rem;
    }
    .site__section__sub-block__link .site__btn {
        flex: none;
        width: 100%;
        max-width: none;
    }
}
@media screen and (max-width: 450px) {
    .site__section {
        padding: 5rem 0;
    }
    form, .contact-comp .contact01__cont{
        margin: 2.4rem 0 0;
    }
    .contact01__cont__item dt .text {
        font-size: 1.3rem;
    }
    .contact01__cont__item dt {
        margin: 0 0 .5rem;
    }
    .contact01 input, .contact01 textarea, .contact01 select {
        font-size: 1.2rem;
    }
    .contact01__cont__item {
        margin: 0 0 2.2rem;
    }
    .contact01__aside {
        font-size: 1.4rem;
    }
    .site__btn .text {
        font-size: 1.rem;
    }
    .site__section__sub-block__link .site__btn input {
        font-size: 1.6rem;
    }
}
.site__btn .text input {
  position: relative;
  z-index: 10;
  color: #000;
}