@charset "UTF-8";
.logo_img{
    width: 665px;
    margin: 0 auto;
    padding-top: 5rem;
}
.red{
    color: #e50012;
}

#contact .wrapper,#policy .wrapper,#error .wrapper,#thanks .wrapper{
    padding: 1rem;
    background: #fff;
    width: 1100px;
    border-radius: 1rem;
    margin-top: 3.8rem;
}

#contact footer,#policy footer,#error footer,#thanks footer {
    margin: 5.3rem auto 0;
}


/*====================================================
                 contact
====================================================*/ 
#contact .wrapper{
    padding: 1rem;
    background: #fff;
    width: 1100px;
    border-radius: 1rem;
    margin-top: 3.8rem;
    padding-bottom: 3rem;
}

#contact h4{
    margin-top: 5.5rem;
    margin-bottom: 2.5rem;
}

#contact h4::before {
    content: url(../img/contact_mail.svg);
    display: block;
    width: 30px;
    position: absolute;
    top: -55%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}


#contact .txt{
    text-align: center;
    font-size: 14px;
    line-height: 1.6;
    color: #231815;
}

#contact .txt.small{
    font-size: 12px;
    margin-top: 1rem;
}

#contact dl{
    color: #231815;
}

#contact .mailform dt span{
    color: #e50012;
    margin-left: 0.2rem;
}

#contact .mailform{
    padding-bottom: 0rem;
}

#contact #mailformbox {
    width: 62%;
    margin: 0px auto;
    padding-top: 1.7rem;
}

#contact .mailform .content {
    display: flex;
    margin-top: 1.4rem;
    justify-content: flex-start;
    align-items: center;
}

#contact form#mailformpro dl dt {
    width: 200px;
    padding: 0;
    line-height: 1;
}


#contact .policy{
    margin: 3.5rem auto 2rem;
}

#contact .policy a{
    color: #e50012;
}

#contact .policy .under_line {
    color: #e50012;
    border-bottom: 1px solid #e50012;
}

#contact .form_btn {
    position: relative;
    width: 280px;
    height: 56px;
    border: 2px solid #000;
    margin: 0 auto;
    border-radius: 2rem;
    margin-bottom: 4.5rem;
}

#contact .form_btn button{
    border-radius: 2rem;
}

#contact .selectWrap::after {
    content: url(../img/contact_triangle.svg);
    border: 0;
    transform: none;
    top: 35%;
}

#contact .mfp_rows input[type="text"], #contact .mfp_rows input[type="email"] {
    width: 450px;
    min-width: 450px;
    border-radius: 0;
}

#contact .mfp_rows select{
    width: 250px;
    min-width: 250px;
}

#contact input[type=radio] {
    width: 14px;
    height: 14px;
    color: #231815  !important;
}

#contact .mfp_checked input[type=radio]::after{
	opacity: 1;
    color: #231815 !important;
}

#contact .radio_wrap label {
    display: block;
    height: auto;
    margin-bottom: 0;
}

#contact #mfp_phase_confirm_inner{
    color: #000000;
}

#contact #mfp_phase_confirm_inner h4 {
    display: none;
}

#mfp_phase_confirm_inner {
    margin-top: 2.6rem;
    margin-bottom: 4.3rem;
}

#mfp_phase_confirm {
    display: none;
    width: 690px;
}

.mfp_buttons {
    margin: 4.6rem auto 0;
}
.mfp_buttons #mfp_button_cancel {
    border: 0;
}

#mfp_button_cancel{
    background: #e6e6e6;
    color: #5a5a5a;
    border-radius: 2rem;
    font-weight: 600;
}
.mfp_buttons #mfp_button_send {
    border-radius: 2rem;
    font-weight: 600;
    border: 2px solid #313132;
}

table#mfp_confirm_table tr td, table#mfp_confirm_table tr th {
    font-size: 14px;
    padding: 1.2rem;
}

/*====================================================
                 policy
====================================================*/ 
#policy .wrapper{
    text-align: justify;
    padding: 4.5rem 4rem 5.5rem;
    color: #262626;
    font-size: 16px;
    line-height: 2;
    letter-spacing: 0.05rem;
}

#policy h4 {
    height: 37px;
}

#policy h4::before {
    content:"";
}

#policy .first{
    margin-top: 2.5rem;
}

#policy .txt{
    margin-top: 2rem;
}

#policy .txt h6{
    font-weight: 600;
    border-bottom: 1px solid #e6e6e6;
    padding-bottom: 0.6rem;
    margin-bottom: 0.7rem;
}


/*====================================================
                 error
====================================================*/ 
#error .wrapper{
    padding: 6rem 5rem 6.5rem;
}

#error h4 {
    margin-bottom: 2.3rem;
}

#error h4::before {
    content:none;
}

#error .error p{
    width: 486px;
    margin: 0 auto;
    font-size: 14px;
    line-height: 2;
    margin-top: 0px;
    text-align: center;
    color: #211f21;
}

#error .more {
    color: #211f21;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    border: 2px solid #211f21;
    width: 280px;
    height: 56px;
    margin: 2.8rem auto 0;
    display: block;
    padding-top: 1rem;
    background: #fff;
    border-radius: 2rem;
}

#error .more a{
    width: 100%;
    height: 100%;
    display: block;
}

#error .more:hover {
    background: #211f21;
    color: #fff;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}

/*====================================================
                 thanks
====================================================*/ 

#thanks h4 img{
    width: 215px;
    height: 74px;
}

h4::before {
    content: url(../img/thanks_ic.svg);
    display: block;
    width: 30px;
    position: absolute;
    top: -65%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

#thanks .wrapper {
    color: #000;
    text-align: center;
    padding: 7rem 4rem 5.5rem;
}
#thanks .wrapper p{
    font-size: 14px;
    line-height: 1.8;
    margin-top: 2.3rem;
}

#thanks .more {
    color: #211f21;
    text-align: center;
    font-size: 16px;
    font-weight: 400;
    border: 2px solid #211f21;
    width: 280px;
    height: 56px;
    margin: 3rem auto 0;
    display: block;
    padding-top: 1rem;
    background: #fff;
    border-radius: 2rem;
}

#thanks .more a{
    width: 100%;
    height: 100%;
    display: block;
}

#thanks .more:hover {
    background: #211f21;
    color: #fff;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
    transition: all 0.3s;
}





/*====================================================
                   1296以下
====================================================*/
@media screen and (max-width:1296px) {
    
 #shuttlebus .timetable li {
    width: 28vw;
}
    
#shuttlebus table td.route {
    width: 40%;
}
        
    
}


@media screen and (max-width:960px) {
#shuttlebus .wrapper {
    width: 68%;
}

}

@media screen and (max-width:800px) {
#shuttlebus .wrapper {
    width: 68%;
}
#mfp_phase_confirm {
    width: 100%;
}    
    
#mfp_phase_confirm_inner {
    margin-top: 1rem;
    }    
.policy {
    width: 100%;
    }    
    
.mfp_err {
    font-size: 14px;
    margin-top: 0;
    }
    
.checkbox::before {
    width: 1.5rem;
    height: 1.5rem;
    top: 0;
    left: 1.5rem;
    }
    
.checkbox::after {
    border-right: 0.7vw solid #313132;
    border-bottom: 0.7vw solid #313132;
    height: 1.5rem;
    left: 2rem;
    top: -0.4rem;
    width: 1rem;
}
    
.mfp_rows input[type="text"], .mfp_rows input[type="email"], .mfp_rows select {
    padding: 0 1rem;
    }
    
#mfp_button_send, #mfp_element_submit, #mfp_button_cancel {
    width: 30vw;
    height: 3rem;
    border: none;
    font-size: 16px;
    padding: 1rem;
}
    
#mfp_confirm_table th {
    margin-bottom: 0;
    }
    
.mfp_buttons #mfp_button_send {
    border-radius: 15vw;
    }
.mfp_buttons #mfp_button_cancel{
    border-radius: 20vw; 
    }
table#mfp_confirm_table tr th {
    padding-bottom: 0;
    padding-top: 0.8rem;
}
    
.mfp_buttons #mfp_button_send {
    float: none;
    margin-bottom: 0;
    margin-top: 0;
}
    
 .mfp_buttons {
    width: 88%;
    margin: 6.6vw auto 0;
    display: flex;
}


}
