@charset "UTF-8";
/*==============================================
contact
==============================================*/
body {
    background: #f7f6f6;
}

.contact{
    width: 100%;
    max-width: 1230px;
    margin: 0 auto;
    padding: 210px 40px 130px;
}

.contact h1 span{
    font-size: 6.0rem;
    font-weight: bold;
    line-height: 1;
    display: block;
}

.contact h1 small{
    font-size: 2.0rem;
    font-weight: 600;
    line-height: 1;
    display: block;
    margin-top: 11px;
}

.contact p{
    font-size: 1.8rem;
    font-weight: 500;
    line-height: 1.89;
    display: block;
    margin-top: 110px;
}

.contact .form{
    margin-top: 58px;
}

.contact .form dl dt{
    font-size: 1.6rem;
    font-family: var(--fontfamily-sans-serif);
    font-weight: 500;
    padding-bottom: 11px;
}

.contact .form dl dd + dt{
    margin-top: 42px;
}

.contact .form dl dt .hissu{
    color: #ff7148;
    margin-left: 1em;
}

input[type="text"], input[type="email"] {
    width: 100%;
    font-size: 2.0rem;
    font-family: var(--fontfamily-serif);
    padding: 25px 30px 26px;
    border: none;
}

.select{
    position: relative;
}

.select::after{
    content: "";
    background: url("../img/common/arrow01.svg") no-repeat center;
    background-size: contain;
    width: 12px;
    height: 22px;
    position: absolute;
    top: 30px;
    right: 34px;
}

select{
    position: relative;
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    background: #fff;
    border: none;
    padding: 25px 30px 26px;
    width: 100%;
    font-size: 2.0rem;
    font-family: var(--fontfamily-serif);
}

textarea{
    width: 100%;
    height: 288px;
    font-size: 2.0rem;
    font-family: var(--fontfamily-serif);
    padding: 25px 30px 26px;
    border: none;
    background: #fff;
    border-radius: 0;
}

.privacy{
    display: table;
    margin: 50px auto 0;
    font-size: 1.6rem;
    font-weight: 500;
    color: #9e928c;
}

.privacy a{
    color: #9e928c;
    text-decoration: underline;
}

input[type=checkbox] {
    display: none;
}

input[type="checkbox"] + span{
    position: relative;
    padding-left: 52px;
    font-size: 1.8rem;
    margin-right: 36px;
    color: #634f45;
}

input[type="checkbox"] + span::before{
    content: "";
    width: 32px;
    height: 32px;
    background: #fff;
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

input[type="checkbox"]:checked + span::after{
    content: "";
    position: absolute;
    top: 6px;
    left: 8px;
    width: 14px;
    height: 8px;
    border-bottom: 3px solid #634f45;
    border-left: 3px solid #634f45;
    transform: rotate(-45deg);
}

.submit input,
#to-confirm{
    font-family: var(--fontfamily-sans-serif);
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    text-align: left;
    width: 308px;
    height: 58px;
    border-radius: 29px;
    border: none;
    background: #634f45 url("../img/common/arrow02.svg") no-repeat center right 30px;
    padding-left: 42px;
    cursor: pointer;
    display: table;
    margin: 102px 0 0 auto;
}

#back + input{
    margin: 30px 0 0 auto;
}

#back{
    font-family: var(--fontfamily-sans-serif);
    font-size: 1.8rem;
    font-weight: bold;
    color: #fff;
    text-align: left;
    width: 308px;
    height: 58px;
    border-radius: 29px;
    border: none;
    background: #634f45 url("../img/common/arrow05.svg") no-repeat center left 30px;
    padding-left: 60px;
    cursor: pointer;
    display: table;
    margin: 102px 0 0 auto;
}

button#to-confirm[disabled]{
    background: #c5c5c5 url("../img/common/arrow02.svg") no-repeat center right 30px;
    cursor: default;
}

.wpcf7-not-valid-tip {
    font-family: var(--fontfamily-sans-serif);
    font-size: 1.8rem !important;
    font-weight: 500 !important;
    color: #ff7148 !important;
    margin-top: .3em;
}

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

.contact{
    padding: 28vw 6.67vw 17.33vw;
}

.contact h1 span{
    font-size: 10.67vw;
}

.contact h1 small{
    font-size: 3.6vw;
    margin-top: 1.467vw;
}

.contact p{
    font-size: 3.2vw;
    margin-top: 14.67vw;
}

.contact .form{
    margin-top: 7.733vw;
}

.contact .form dl dt{
    font-size: 3.8857vw;
    padding-bottom: 4vw;
}

.contact .form dl dd + dt{
    margin-top: 8vw;
}

input[type="text"], input[type="email"] {
    font-size: 4.4vw;
    padding: 3.33vw 4vw;
}

.select::after{
    width: 2.4vw;
    height: 4.4vw;
    top: 4vw;
    right: 4.533vw;
}

select{
    padding: 3.33vw 4vw;
    font-size: 4.4vw;
}

textarea{
    height: 38.4vw;
    font-size: 4.4vw;
    padding: 3.33vw 4vw;
}

.privacy{
    margin: 6.67vw auto 0;
    font-size: 3.8857vw;
}

input[type="checkbox"] + span{
    padding-left: 9vw;
    font-size: 4.37143vw;
    margin-right: 4.8vw;
}

input[type="checkbox"] + span::before{
    width: 6.4vw;
    height: 6.4vw;
}

input[type="checkbox"]:checked + span::after{
    top: 1.4vw;
    left: 1.5vw;
    width: 2.8vw;
    height: 1.6vw;
    border-bottom: 0.8vw solid #634f45;
    border-left: 0.8vw solid #634f45;
}

.submit input,
#to-confirm{
    font-size: 4.37143vw;
    width: 60vw;
    height: 11.6vw;
    border-radius: 5.8vw;
    background: #634f45 url("../img/common/arrow02.svg") no-repeat center right 4vw;
    background-size: 3vw auto;
    padding-left: 5.6vw;
    margin: 13.6vw 0 0 auto;
}

#back + input{
    margin: 4vw 0 0 auto;
}

#back{
    font-size: 4.37143vw;
    width: 60vw;
    height: 11.6vw;
    border-radius: 5.8vw;
    background: #634f45 url("../img/common/arrow05.svg") no-repeat center left 4vw;
    background-size: 3vw auto;
    padding-left: 10vw;
    margin: 13.6vw 0 0 auto;
}

button#to-confirm[disabled]{
    background: #c5c5c5 url("../img/common/arrow02.svg") no-repeat center right 4vw;
    background-size: 3vw auto;
}

.wpcf7-not-valid-tip {
    font-size: 4.37143vw !important;
}

}