@charset "utf-8";
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
#main {
    margin-bottom: 11rem;
}
#main .content {
    max-width: 80rem;
}
#main .headLine01 {
    margin-bottom: 7rem;
}
#main .midTxt {
    margin-bottom: 3.5rem;
    font-size: 1.8rem;
    line-height: 1.72;
    letter-spacing: 0.26em;
    text-align: center;
}
#main .midTxt img {
    margin-right: 0.8rem;
    width: 36.6rem;
    vertical-align: -0.1rem;
}
#main .midTxt span {
    margin: 1.7rem 0 0.5rem 2.2rem;
    display: block;
}
#main .voice {
    margin: 0 auto 3.5rem;
    max-width: 63.8rem;
    padding: 1.3rem 3rem 1.3rem 5.4rem;
    background-color: #fff;
    border-radius: 5rem;
    display: flex;
    align-items: center;
    position: relative;
    box-sizing: border-box;
}
#main .voice:after {
    position: absolute;
    right: 7.9rem;
    bottom: -2.6rem;
    width: 2.9rem;
    height: 3.3rem;
    background: url(../img/contact/arrow.png) no-repeat left top/2.9rem auto;
    content: "";
}
#main .voice p {
    margin: 0 0 0.5rem 2.6rem;
    color: #EA7AAA;
    font-size: 2.6rem;
    letter-spacing: 0.27em;
}
#main .bgWhite {
    margin-bottom: 3.3rem;
    padding: 3.4rem 7% 2.5rem;
}
#main .h3Ttl {
    margin-bottom: 1.8rem;
    padding-top: 6rem;
    color: #EA7AAA;
    font-size: 2.2rem;
    letter-spacing: 0.26em;
    text-align: center;
    background: url(../img/common/icon_tel.png) no-repeat center top/4.7rem auto;
}
#main .contactBox {
    text-align: center;
}
#main .contactBox .tel {
    margin-bottom: 2.2rem;
}
#main .contactBox .date {
    font-size: 1.8rem;
    letter-spacing: 0;
    font-weight: 300;
    font-family: "ab-kokoro-no3", sans-serif;
}
#main .formBox {
    padding-bottom: 7.5rem;
}
#main .formBox .h3Ttl {
    margin-bottom: 1.8rem;
    padding-bottom: 2.5rem;
    border-bottom: 0.2rem solid #F4F2F1;
    background-image: url(../img/contact/icon_mail.png);
}
#main .formBox table {
    margin-bottom: 2.5rem;
    width: 100%;
    border-spacing: 0;
}
#main .formBox th, #main .formBox td {
    padding: 2rem 0.2rem;
    font-size: 1.6rem;
    font-weight: 500;
    letter-spacing: 0.06em;
    word-break: break-all;
    text-align: left;
    vertical-align: top;
    font-family: 'Noto Sans JP', sans-serif;
}
#main .formBox th {
    padding-top: 4rem;
    width: 25%;
    line-height: 1;
    font-weight: normal;
    font-family: 'midashigopr5-mb31';
}
#main .formBox .thStyle {
    padding-top: 2.3rem;
}
#main .formBox th .required {
    margin-left: 0.4rem;
    color: #EA7AAA;
    font-size: 1.1rem;
}
#main .formBox th .required02 {
    margin-left: 0;
}
#main .formBox input[type="radio"], #main .formBox input[type="checkbox"] {
    display: none;
}
#main .formBox input[type="radio"] + span, #main .formBox input[type="checkbox"] + span {
    display: inline-block;
    padding-left: 3.2rem;
    min-height: 2.5rem;
    cursor: pointer;
    background: url(../img/contact/radio_bg.png) no-repeat left 0.1rem/2.4rem auto;
}
#main .formBox input[type="radio"]:checked + span {
    background-image: url(../img/contact/radio_on_bg.png);
}
#main .formBox .radioList {
    margin: -2.2rem 0 1rem;
    display: flex;
    flex-wrap: wrap;
}
#main .formBox .radioList li {
    width: 50%;
    margin-top: 2.2rem;
}
#main .formBox input[type="text"], #main .formBox input[type="tel"], #main .formBox input[type="email"], #main .formBox textarea {
    padding: 1rem 2.2rem;
    width: 100%;
    height: 6.2rem;
    color: #37516e;
    font-size: 1.6rem;
    line-height: 1.2;
    border: none;
    border-radius: 1.2rem;
    background-color: #F4F2F1;
    box-sizing: border-box;
    appearance: none;
    -webkit-appearance: none;
}
#main .formBox input[type="text"]:-webkit-autofill, #main .formBox input[type="tel"]:-webkit-autofill, #main .formBox input[type="email"]:-webkit-autofill, #main .formBox textarea:-webkit-autofill {
	-webkit-text-fill-color: #37516E;
	-webkit-box-shadow: 0 0 0px 1000px #F4F2F1 inset !important;
}
#main .formBox input[type="text"]::placeholder, #main .formBox input[type="tel"]::placeholder, #main .formBox input[type="email"]::placeholder, #main .formBox textarea::placeholder {
    color: #CACACA;
    opacity: 1;
}
#main .formBox input[type="text"]:-ms-input-placeholder, #main .formBox input[type="tel"]:-ms-input-placeholder, #main .formBox input[type="email"]:-ms-input-placeholder, #main .formBox textarea:-ms-input-placeholder {
    color: #CACACA;
}
#main .formBox input[type="text"]::-ms-input-placeholder, #main .formBox input[type="tel"]::-ms-input-placeholder, #main .formBox input[type="email"]::-ms-input-placeholder, #main .formBox textarea::-ms-input-placeholder {
    color: #CACACA;
}
#main .formBox .code {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}
#main .formBox input[type="text"].wid01 {
    margin: 0 0.7rem 0 1rem;
    width: 22.9rem;
}
#main .formBox .btn {
    cursor: pointer;
    width: 9.9rem;
    height: 6.2rem;
    color: #fff;
    font-size: 1.4rem;
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #37516E;
    border-radius: 1.2rem;
    transition: .6s ease;
}
#main .formBox .txt {
    font-size: 1.8rem;
}
#main .formBox textarea {
    height: 21.2rem;
}
#main .formBox .agree {
    margin-bottom: 4.3rem;
    font-size: 1.8rem;
    letter-spacing: 0.06em;
    font-family: 'midashigopr5-mb31';
    text-align: center;
}
#main .formBox .agree a {
    text-decoration: underline;
}
#main .formBox .agree input[type="checkbox"] + span {
    padding-left: 3.4rem;
    background-image: url(../img/contact/check_bg.png);
    background-size: 2.6rem;
}
#main .formBox .agree input[type="checkbox"]:checked + span {
    background-image: url(../img/contact/check_on_bg.png);
}
#main .formBox .submit {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}
#main .formBox .submit li {
    width: 100%;
}
#main .formBox .submit li:first-child {
    margin-bottom: 2rem;
}
#main .formBox .submit input {
    margin: 0 auto;
    padding-bottom: 0.3rem;
    width: 53.9rem;
    height: 7.6rem;
    color: #fff;
    font-size: 2.2rem;
    font-family: 'midashigopr5-mb31';
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    background-color: #EA7AAA;
    border-radius: 3.8rem;
    appearance: none;
    -webkit-appearance: none;
    box-sizing: border-box;
    cursor: pointer;
    transition: .6s ease;
}
#main .formBox #confirmForm .submit .edit input {
	background-color: #a8a5a3;
}
.errorMsg {
    margin-bottom: 2rem;
    color: #EA7AAA;
}
@media all and (min-width: 768px) and (max-width: 1240px) {
	#main .voice p {
		font-size: 2.5rem;
	}
	#main .contactBox .tel img {
		width: 50rem;
	}
	#main .contactBox .date img {
		width: 40rem;
	}
}
@media all and (min-width: 768px) and (max-width: 1023px) {
	#main .content {
		max-width: 90rem;
	}
	#main .voice p {
		letter-spacing: 0.2em;
	}
	#main .formBox th, #main .formBox td {
		font-size: 1.8rem;
	}
	#main .formBox input[type="text"], #main .formBox input[type="tel"], #main .formBox input[type="email"], #main .formBox textarea {
		font-size: 1.8rem;
	}
	#main .formBox input[type="radio"] + span {
		background-position: left 0.2rem;
	}
	#main .formBox .agree input[type="checkbox"] + span {
		font-size: 2rem;
		background-position: left 0.2rem;
	}
	#main .formBox th .required {
		font-size: 1.3rem;
	}
}
@media all and (min-width: 768px) {
    body:not(.tab) #main .formBox .agree a:hover {
        text-decoration: none;
    }
    body:not(.tab) #main .formBox .submit input:hover {
        border-radius: 1.4rem;
    }
    body:not(.tab) #main .formBox .btn:hover {
        border-radius: 3.4rem;
    }
    body:not(.tab) #main .confirm .formBox th {
        padding-top: 2.3rem;
    }
}
@media all and (max-width: 767px) {
    #main {
        margin-bottom: 5rem;
    }
    #main .headLine01 {
        margin-bottom: 5rem;
    }
    #main .midTxt {
        font-size: 1.5rem;
        letter-spacing: 0.26em;
    }
    #main .midTxt img {
        margin: 0 1.2rem 0 -0.5rem;
        width: 26.9rem;
    }
    #main .midTxt span {
        margin: 1.7rem 0 0.8rem;
    }
    #main .voice {
        margin-bottom: 1.5rem;
        max-width: 32.5rem;
        padding: 0.4rem 2rem 1.2rem;
        border-radius: 4.7rem;
        display: block;
        text-align: center;
    }
    #main .voice:after {
        right: 4.3rem;
        bottom: -1.3rem;
        width: 2.1rem;
        height: 2.4rem;
        background-size: 2.1rem auto;
    }
    #main .voice img {
        margin-bottom: -0.4rem;
        width: 5.2rem;
    }
    #main .voice p {
        margin: 0;
        font-size: 1.8rem;
        letter-spacing: 0.1em;
    }
    #main .bgWhite {
        margin-bottom: 3.8rem;
        padding: 3rem 6% 0.5rem;
    }
    #main .h3Ttl {
        margin-bottom: 1.3rem;
        padding-top: 5.8rem;
        font-size: 1.6rem;
        letter-spacing: 0.06em;
        background-size: 4.6rem;
    }
    #main .contactBox .tel {
        margin-bottom: 1.5rem;
    }
    #main .contactBox .date img {
        width: 24.3rem;
    }
    #main .formBox {
        padding: 3rem 8.5% 7.5rem;
    }
    #main .formBox .h3Ttl {
        margin-bottom: 3.8rem;
        padding-bottom: 2.1rem;
    }
    #main .formBox table {
        margin-bottom: 1rem;
    }
    #main .formBox th, #main .formBox td {
        float: left;
        width: 100% !important;
        box-sizing: border-box;
        padding: 1rem 0 2.3rem;
        font-size: 1.5rem;
        letter-spacing: 0.06em;
    }
    #main .formBox th {
        padding: 2.3rem 0 0;
        font-size: 1.6rem;
    }
    #main .formBox .thStyle {
        padding: 0 0 1.7rem;
    }
    #main .formBox th .required02 {
        margin-left: 0.4rem;
    }
    #main .formBox input[type="radio"] + span, #main .formBox input[type="checkbox"] + span {
        padding-left: 3rem;
        min-height: 2.5rem;
        background-size: 2.2rem auto;
    }
    #main .formBox .radioList {
        margin: -2rem 0 1rem 0.7rem;
        display: block;
    }
    #main .formBox .radioList li {
        width: auto;
        margin-top: 2rem;
    }
    #main .formBox input[type="text"], #main .formBox input[type="tel"], #main .formBox input[type="email"], #main .formBox textarea {
        padding: 0.7rem 1.8rem;
        height: 4.1rem;
        font-size: 1.4rem;
        border-radius: 1rem;
    }
    #main .formBox .code {
        margin-bottom: 1rem;
    }
    #main .formBox input[type="text"].wid01 {
        margin: 0 0.7rem 0 0.7rem;
        width: calc(100% - 10rem);
        max-width: 20rem;
    }
    #main .formBox .btn {
        width: 7.5rem;
        height: 4.1rem;
        font-size: 1.2rem;
        border-radius: 1rem;
    }
    #main .formBox .txt {
        font-size: 1.6rem;
    }
    #main .formBox textarea {
        height: 14.7rem;
    }
    #main .formBox .agree {
        margin-bottom: 3rem;
        font-size: 1.36rem;
    }
    #main .formBox .agree input[type="checkbox"] + span {
        padding-left: 2.7rem;
        background-size: 2rem auto;
    }
    #main .formBox .submit input {
        width: 100%;
        height: 5.7rem;
        font-size: 1.6rem;
        letter-spacing: 0.07em;
    }
}