@charset "utf-8";

#form_wrap{
    width:100%;
    position:relative;
}
input,textarea,select  {
border:0;
padding:5px 7px;
color:#333;
border:solid 1px #ccc;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
}

input:focus,textarea:focus,select:focus {
    border:solid 1px #ED1C21;
}

input[type="file"]{
    border: none;
    padding-left: 0;
}


table#table_address td,
table#table_address th{border: none;}

/*form pageContact,Enquete common*/
/*-----------------------------------------------------------------------*/
#form_intro .leadtitle{
    font-size: 22px;
    line-height: 1.2;
    text-align: center;
    margin-bottom: 10px;
}
#form_intro .tel{
    letter-spacing: 0.1em;
    font-weight: normal;
    font-size: 28px;
    line-height: 1.2;
    margin: 10px 0 20px;
}
#form_intro .time{
    display: inline-block;
    font-size: 12px;
    border: 1px solid #999;
    padding: 0.4em 1em;
    margin: 0 auto 10px;
}
#submit_button{
clear:both;
text-align:center;
margin:40px 0 0;
text-transform:uppercase;
font-weight:bold;
color:#333;
cursor:pointer;
}

#submit_button input{
    width:180px;
    border:solid 1px #d6d5d9;
    padding:10px 0;
    cursor:pointer;
    font-size:120%;
    font-weight: normal;
    background-color:#f0f0f0;
    transition: 0.3s;
}
#submit_button input:hover{
    background-color:#989898;
    color:#fff;
}

@media only screen and (max-width:690px) {
    #submit_button input{ width:140px;}
}

/*#form_footer{
width:900px;
height:50px;
}

address {
font-size: 85%;
font-style: normal;
float:right;
line-height:50px;
}

#form_footer a{
color:#000;
}
*/
/*form pageContact*/
/*-----------------------------------------------------------------------*/

#form_contact_main{
overflow:auto;
}

#form_wrap{
width:100%;
margin-bottom: 30px;
}

#form_contact_main dl{
width:100%;
border-top:1px dotted #ddd;
/*background-color:#f5f5f5;*/
line-height:220%;
float:left;
}
#form_contact_main dl:first-child{border-top:none;}
#form_contact_main dt{
width:30%;
float:left;
padding:30px 10px;
}

#form_contact_main dt span{
font-weight:normal;
color:#ff002d;
}

#form_contact_main dd{
padding:30px 10px;
width:70%;
float:left;
}

#privacy_txt{
    margin-left:30%;
    padding-left:10px;
    margin-top:10px;
}
#form_contact_main a{
color:#ED1C21;
text-decoration:none;
}

#form_contact_main a:hover{
color:#ED1C21;
text-decoration:underline;
}

/*form pageEnquete*/
/*-----------------------------------------------------------------------*/

#basic_information{
border-bottom: 1px solid #adadad;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1.4;
    margin-bottom: 25px;
    padding-bottom: 10px;
}

#form_enquetet_main{
    overflow:auto;
    margin-top: 30px;
}

#enquete_intro{
border-bottom: 1px solid #adadad;
    font-size: 18px;
    font-weight: bold;
    letter-spacing: 1px;
    line-height: 1.4;
    margin-bottom: 25px;
    padding-bottom: 10px;
}

#form_enquetet_main dl{
width:100%;
border-top:1px dotted #ddd;
/*background-color:#f5f5f5;*/
line-height:220%;
float:left;
}
#form_enquetet_main dl:nth-child(2){border-top:none;}
#form_enquetet_main dl.privacy{
margin-top:30px;
border-bottom:none;
}

#form_enquetet_main dt{
    float: left;
    padding: 30px 10px;
    width: 30%;
}
#form_enquetet_main dt span{color: #ED1C21;}
#form_enquetet_main dd{
    float: left;
    padding: 30px 10px;
    width: 70%;
}
/*
#free_text{
margin:20px 0 10px 0;
}*/


/*form utility*/
/*-----------------------------------------------------------------------*/


.example_text{
margin-top:5px;
line-height:100%;
font-size:90%;
color:#999999;
}

#family_name,#first_name,#family_name_yomi,#first_name_yomi{
width:120px;
margin-right:20px;
}

#zip01,#zip02{
width:60px;
}

#female{
margin-left:20px;
}

#table_address td{
padding:3px 0 3px 0;
}
span.break{
    padding-left:15px;
}

.width_cs{width:100%;}
.width_cm{width:100%;}
.width_cl{width:100%;}
.width_es{width:100%;}
.width_em{width:100%;}
.width_el{width:100%;}
.height_s{height:50px;}
.height_m{height:100px;}
.height_l{height:150px;}


/*setting*/
/*-----------------------------------------------------------------------*/

.keywords_box{
margin-bottom:5px;
margin-right:6px;
float:left;
}


/*----エラー項目部分のハイライト----*/
    .dcms_error_area{
        background:#FFD7D7;
        position: relative;
    }
    p.error_text{
        display:none;
    }
    .dcms_error_area p.error_text{
        display: block;
        width: auto;
        /*float: left;*/
    }

    .dcms_error_area p.error_text span{
        background: #ff6666;display: inline-block;padding: 7px;
    }

/*----エラーテキストの吹き出し装飾用----*/
    #contact-form .dcms_error_area p.error_text{
        margin-top: 5px;
        color: #FFF;
        position: relative;
        /*アニメーションをつける場合*/
        -webkit-animation: dcms_fadein_up 0.8s 1;
        -moz-animation: dcms_fadein_up 0.8s 1;
        -ms-animation: dcms_fadein_up 0.8s 1;
         -o-animation: dcms_fadein_up 0.8s 1;
            animation: dcms_fadein_up 0.8s 1;
    }
    #contact-form .dcms_error_area p.error_text:before{
        content:"";
        width: 0px;
        height: 0px;
        position: absolute;
        text-align: left;
        top:-10px;
        left:10px;
        border: 5px solid transparent;
        border-bottom: 5px solid #FF6666;
        /*アニメーションをつける場合*/
        -webkit-animation: dcms_fadein_up 0.8s 1;
        -moz-animation: dcms_fadein_up 0.8s 1;
        -ms-animation: dcms_fadein_up 0.8s 1;
         -o-animation: dcms_fadein_up 0.8s 1;
            animation: dcms_fadein_up 0.8s 1;
    }

    /*アニメーションを設定する*/
    @-webkit-keyframes dcms_fadein_up {
        0% {  opacity:0; }
        100% { opacity:1;}
    }
    @-o-keyframes dcms_fadein_up {
        0% {  opacity:0; }
        100% { opacity:1;}
    }
    @-moz-keyframes dcms_fadein_up {
        0% {  opacity:0; }
        100% { opacity:1;}
    }
    @keyframes dcms_fadein_up {
        0% {  opacity:0; }
        100% { opacity:1;}
    }





/* screens smaller than 600---------------------------------------------------------- */
@media only screen and (max-width:690px) {
    
#form_contact_main dl,
#form_enquetet_main dl{
border-top:none;
margin-bottom:15px;
line-height: 1.6;
}
#form_contact_main dt,#form_contact_main dd,
#form_enquetet_main dt,#form_enquetet_main dd{
width:100%;
float:none;
padding:5px 0;
}
#form_contact_main dt{
    padding: 0 0 0 8px;
    border-left: 5px #333 solid;
    line-height: 1;
    margin-bottom:5px;
    margin-top:10px;
    font-size: 16px;
}
#privacy_txt{
    margin-left:0;
    padding-left:0;
    font-size:90%;
}
#submit_button{
margin:30px 0 0;
}
#table_address td{
    display:block;
}
span.break{
    display:block;
    padding-left:0;
}
input{
    width:100%;
}
input[type=radio],input[type=checkbox]{
    width:20px;
}


}

.slick-slide{height: auto !important;}



.privacy{
    padding-left: calc(30% + 10px);
}
@media only screen and (max-width:690px) {
    .privacy{
        padding-left: 0;
    }
}







.formflow{
    text-align: center;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.formflow li{
    min-width: 280px;
    text-align: center;
    font-size: 16px;
    position: relative;
    list-style: none;
    margin-left: 40px;
}
.formflow li + li::before{
    position: absolute;
    left: -28px;
    top: calc(50% - 5px);
    content: "";
    width: 10px;
    height: 10px;
    border-top: 2px solid #333333;
    border-right: 2px solid #333333;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
.formflow li:first-child{margin-left: 0;}
.formflow li a{
    display: block;
    padding: 10px;
    cursor: pointer;
}
.formflow li.prev,
.formflow li.prev a{color: #333333;}
.formflow.last li.prev{padding: 10px;}
.formflow li.age{
    color: #ffffff;
    padding: 10px;
}
.formflow li.next{
    color: #ffffff;
    padding: 10px;
    background-color: #2b2b2b;
}

@media only screen and (max-width:979px) {
    .width_cs{width:100%;}
    .width_cm{width:100%;}
    .email_input{width:100%;}
    .formflow li{min-width: 180px;}
}

@media only screen and (max-width:690px) {
    .formflow li{
        min-width: 80px;
        font-size: 13px;
        margin-left: 20px;
    }
    .formflow li + li::before{
        left: -17px;
        top: calc(50% - 4px);
        width: 8px;
        height: 8px;
    }
}

input.family_name,
input.first_name{
    width: 40%;
}
input.family_name{margin-right: 10px;}

@media only screen and (max-width:690px) {
    input.family_name,
    input.first_name{
        width: 100%;
        display: block;
    }
    input.family_name{margin-bottom: 5px;}
}


.inp_col2{width: 40%;}

@media only screen and (max-width:690px) {
    .inp_col2{width: 100%;}
}