@charset "UTF-8";
/* CSS Document */
.contact_page {
    margin-bottom: 80px;
    padding-right: 42px;
    padding-bottom: 50px;
    background: #ddf0e9;
}
.ct_form input[type="radio"] {
    height: 0;
    display: block;
    opacity: 0;
}
.radio_flex {
    display: flex;
}
.radio_flex label {
    margin-right: 1em;
    display: flex;
    align-items: center;
}
.radio_flex label::before {
    content: "　";
    display: inline-block;
    width: 1em;
    height: 1em;
    border: 2px solid #55b692;
    border-radius: 50%;
    line-height: 100%;
	color:#55b692;
    padding: 0.1em;
    font-size: 0.8em;
	margin-right:0.8em;
}
input#plz:checked ~ .contact_01 .radio_flex label[for="plz"]::before {
    content: "●";
}
input#sem:checked ~ .contact_01 .radio_flex label[for="sem"]::before{
    content: "●";
}
input#cnt:checked ~ .contact_01 .radio_flex label[for="cnt"]::before{
    content: "●";
}
input[type="text"],
input[type="tel"],
textarea {
    border: none;
    width: 100%;
    padding: 0.6em;
}
textarea{
    height: 8em;
}
#contact_form{
    max-width: 700px;
}
.contact_01 {
    display: flex;
    justify-content: center;
    margin-bottom: 30px;
    font-size: 0.9em;
    line-height: 100%;
}
.contact_01-1 {
    width: 10em;
    text-align: right;
    margin-top: 0.2em;
}
.contact_01-2 {
    width: calc(100% - 10em);
    margin-left: 1em;
}
.contact_01-2 .text {
    line-height: 140%;
    margin-bottom: 15px;
}
.contact_01-2 .text.mini {
    font-size: 0.85em;
}
input#plz:not(:checked) ~ .contact_01.address_wrap{
	display: none;
}
.contact_01-2 .zip_flex {
    display: flex;
}
.contact_01-2 .zip_flex input[id*="zip"] {
    width: 6em;
}
input#cnt:not(:checked) ~ .contact_01.ask_wrap .contact_01-1 span.red{
	display: none;
}
input#sem:not(:checked) ~ .contact_01.seminar_wrap{
	display: none;
}
input.contact_03,
.ok_btn {
    color: #fff;
    background: #55b692;
    border-radius: 2px;
    padding: 0.3em 1.2em;
    line-height: 100%;
    font-size: 1em;
	transition:all ease 300ms;
}
input.contact_03:hover,
.ok_btn:hover{
	background:#ffffff;
	color:#55b692;
}
/*個人情報保護*/
#InquiryPrivacy {
    overflow: auto;
    width: 100%;
    padding: 8px 10px;
    margin: 10px 0 5px;
    height: 200px;
    font-size: 0.85em;
    line-height: 150%;
    background-color: #FFFFFF;
}
#InquiryPrivacy b {
    margin-bottom: 10px;
    display: block;
    font-weight: normal;
}
#InquiryPrivacy p {
    margin-bottom: 8px;
}
#InquiryPrivacy ol.privacy li {
    list-style: decimal outside;
	margin-left: 1em;
}
#InquiryPrivacy ol.privacy li ul{
    margin-bottom: 15px;
    padding-left: 1em;
}
#InquiryPrivacy ol.privacy li ul li {
    list-style: disc outside;
    text-indent: 0;
    padding-left: 0;
}
/*確認画面*/
.btn_flex{
	display:flex;
    justify-content: center;
}
.back_btn{
    color: #333;
    background: #ccc;
    border-radius: 2px;
    padding: 0.3em 1.2em;
    line-height: 100%;
    font-size: 1em;
	transition:all ease 300ms;
}
.back_btn:hover{
	background:#888;
	color:#ffffff;
}
input.contact_03,
.back_btn{
	margin-left:1em;
	margin-right:1em;
}
input.contact_03.checkpoint {
    margin-left: 0;
}
.ct_form .explanation{
    text-align: center;
    margin-bottom: 30px;
	color:#55b692;
}
@media screen and (max-width: 840px){

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

}
@media screen and (max-width: 530px){
.contact_page {
	padding-right: 2%;
    padding-left: 2%;
}
.contact_01 {
    display: block;
}
.contact_01-1 {
    text-align: left;
    margin-bottom: 0.5em;
}
.contact_01-2 {
    margin-left: 0;
    width: 100%;
}
input[type="text"],
input[type="tel"],
textarea {
    font-size: 1.2em;
}
.cm_ttl_wrap {
    padding-bottom: 40px;
}
.cm_ttl_wrap .text{
	text-align:left;
}
.radio_flex {
    display: block;
}
.radio_flex label{
    margin-bottom: 10px;
}
}