
/*------------------------------------------*/
/*                  #form                   */
/*------------------------------------------*/
#contact {
    position: relative;
    margin: 110px 0 0 0;
    padding-top: 90px;
}


#contact h3 {
    /*padding-bottom: 30px;*/
    /*border-bottom: 1px rgba(0,0,0,0.3) solid;*/
    /*border-bottom: 3px rgba(0,0,0,0.15) dotted;*/
}


#contact p.info-1 {
    margin: 0 0 60px 0;
    line-height: 2.0;
    text-align: center;
}


/*--- p-outer-top ---*/
#contact .p-outer-top {
    display: block;
    text-align: center;
    margin-bottom: 130px;
}
#contact.m-top .p-outer-top {
    margin-bottom: 90px;
}
#contact .p-outer-top p.title {
    display: block;
    margin-bottom: 40px;
    padding: 12px 0;
    text-align: center;
    color: #fff;
    font-weight: 100;
    font-size: 20px;
    
    background: #03449C;
    
    /*font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;*/
}
#contact .p-outer-top p.msg {
    display: inline-block;
    line-height: 2.0;
    text-align: left;
}
#contact .p-outer-top p.msg span {
    display: block;
    margin-top: 15px;
}
#contact .p-outer-top a {
    display: block;
    margin-top: 80px;
}
#contact .p-outer-top a img {
    display: block;
    width: 100%;
    margin: 0 auto;
}



/*--- form-link ---*/
#contact .form-link {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 130px;
}
#contact .form-link .inner-l {
    display: inline-block;
    width: 50%;
    padding: 0;
    padding-right: 15px;
    text-align: center;
    float: left;
}
#contact .form-link .inner-r {
    display: inline-block;
    width: 50%;
    padding: 0;
    padding-left: 15px;
    text-align: center;
}
#contact .form-link a {
    display: block;
    padding: 30px 0;
    background-image: url("../images/form-btn-bg.png");
    background-size: cover;
    background-position: top left;
    
    color: #fff;
}



/*--- #form-1 #form-2 ---*/
#form-1,
#form-2 {
    /*display: block;
    width: 100%;
    padding-top: 110px;
    margin-top: -110px;*/
}





/*--- info-box ---*/
#contact .info-box {
    display: table;
    width: 100%;
    margin-bottom: 60px;
    padding-bottom: 40px;
    text-align: center;
    /*border-top: 1px rgba(0,0,0,0.3) solid;*/
    border-bottom: 1px rgba(0,0,0,0.4) solid;
}
#contact .info-box dl {
    display: block;
    width: 100%;
}
#contact .info-box dl dt {
    display: block;
    width: 100%;
    margin-top: 10px;
    text-align: center;
    background: #043c78;
    color: #fff;
    font-weight: normal;
    padding: 6px 0;
    border-top-left-radius: 20px;
    border-top-right-radius: 20px;
}
#contact .info-box dl dd {
    display: block;
    width: 100%;
    text-align: left;
    line-height: 1.8;
    padding: 5px 1em;
    
    text-align: justify;
    text-justify: inter-ideograph;
    word-break: break-all;
}
#contact .info-box dl dd.t-right {
    text-align: right;
}
#contact .info-box dl dd span {
    display: block;
    margin-top: 17px;
}

/* table.type-1 */
#contact .info-box table.type-1 {
    width: 100%;
    text-align: left;
    margin-bottom: 10px;
}
#contact .info-box table.type-1 th {
    width: 35%;
    text-align: left;
    border-bottom: 2px rgba(0,0,0,0.3) dotted;
}
#contact .info-box table.type-1 td {
    width: 65%;
    text-align: right;
    border-bottom: 2px rgba(0,0,0,0.3) dotted;
}

/* table.type-2 */
#contact .info-box table.type-2 {
    width: 100%;
    text-align: left;
    margin-bottom: 10px;
}
#contact .info-box table.type-2 th {
    display: block;
    width: 100%;
    text-align: left;
    border-bottom: 2px rgba(0,0,0,0.3) dotted;
    padding-bottom: 1px;
    margin-bottom: 5px;
}
#contact .info-box table.type-2 td {
    display: block;
    width: 100%;
    padding-left: 1em;
    margin-bottom: 14px;
    text-align: left;
}
#contact .info-box table.type-2 .final td {
    margin-bottom: -10px;
}












#contact .p-outer {
    display: block;
    text-align: center;
    margin-top: 60px;
}
#contact .p-outer.top {
    padding-bottom: 110px;
    margin-bottom: 110px;
    border-bottom: 1px rgba(0,0,0,0.5) solid;
}


#contact p.info {
    display: block;
    margin-top: 30px;
    text-align: center !important;
    font-size: 18px;
}

#contact p.info-2 {
    display: inline-block;
    text-align: left;
    line-height: 2.0;
    color: rgba(0,0,0,0.7);
    font-size: 14px;
}



#contact .pc {
    display: block !important;
}
#contact .sp {
    display: none !important;
}



/*- - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 1199px) {
/*- - - - - - - - - - - - - - - - - - - - -*/
#contact .p-outer-top p.title {
    font-size: 21px;
}
#contact p.info span {
    display: block;
}
}
/*- - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 480px) {
/*- - - - - - - - - - - - - - - - - - - - -*/
#contact {
    margin: 80px 0 0 0;
    padding: 70px 0 50px 0;
}
#contact.partner {
    margin-top: 70px;
    padding-top: 50px;
}
    
#contact.m-top {
    margin-top: 30px;
}
#contact .sp {
    display: block !important;
}
#contact .pc {
    display: none !important;
}
#contact .p-outer-top {
    margin-bottom: 80px;
}
#contact .p-outer-top p.title {
    padding: 15px 15px;
    font-size: 16px;
}
#contact .p-outer-top p.title span {
    display: block;
}
#contact .p-outer-top p.msg {
    line-height: 1.7;
}
#contact p.info {
    font-size: 15px;
}
#contact p.info-1.ver-2 {
    text-align: left;
    margin-left: 6%;
    line-height: 1.5;
}
#contact p.info-1 span {
    display: block;
}
#contact p.info-1.ver-2 span {
    margin-left: 1em;
}
#contact .form-link {
    margin-bottom: 80px;
}
#contact p.info-2 {
    font-size: 13px;
}
}







form {
    margin-top: 30px;
    text-align: left;
    font-size: 15px;
}

/*--- Zenkaku Hankaku ---*/
form .zenkaku {
   ime-mode: active;
}
form .hankaku {
   ime-mode: inactive;
}

/*--- p ---*/
form p {
    text-align: left !important;
    font-size: 13px;
    font-weight: normal;
    letter-spacing: 1.5px;
    line-height: 1.9;
    text-transform: capitalize;
}
form p:last-of-type {
    margin-bottom: 50px;
}


/*--- label , input etc ---*/
form label {
    display: block;
    margin-top: 20px;
    margin-bottom: 5px;
    
    text-align: left;
    letter-spacing: 2px;
    font-size: 16px;
    font-weight: normal;
}
form label.m-top {
    margin-top: 50px;
    
    padding-top: 39px;
    border-top: 1px rgba(0,0,0,0.3) solid;
}
form label.chk {
    margin-bottom: 8px;
}
form label span {
    font-size: 10px;
    font-weight: 100;
    color: #fff;
    letter-spacing: 1px;
    line-height: 1;
    background: #043c78;
    padding: 3px 7px 3px 7px;
    border-radius: 100px;
    margin-left: 10px;
    vertical-align: 0.15em;
}

form select,
form input,
form textarea {
    width: 100% !important;
}

form textarea {
    overflow: auto;
    height: auto !important;
    font-weight: 100 !important;
}

form select {
    display: block;
    background: #fff;
    width: 100%;
    border: none;
    border-radius: 0px;
}

select:focus,
input:focus,
textarea:focus {
    outline: 0;
}


/*--- ラジオボタン ---*/
input[type=radio] {
    width: auto !important;
    margin-left: 1.1em;
    height: 23px;
    vertical-align: -0.5em;
    transform: scale(1.3);
}
.in-radio {
    display: block;
    margin-bottom: 4px;
    font-weight: 100;
}
.in-radio:first-of-type {
    margin-top: 10px;
}


/*--- チェックボックス ---*/
input[type="checkbox"] {
    display: inline-block;
    width: 16px !important;
    height: 16px !important;
    margin: 0;
    margin-left: 13px;
    margin-right: 5px;
    vertical-align: -0.15em;
    /*accent-color: #191970;*/
}
input[type="checkbox"]:first-of-type {
    margin-left: 0;
}
form .checkbox {
    display: block;
    width: 100%;
    margin-top: 50px;
    text-align: center;
}
form .checkbox a {
    display: inline-block;
    margin-left: 5px;
    margin-right: 7px;
    line-height: 1.5;
    color: #000;
    border-bottom: 1px rgba(0,0,0,0.3) solid;
}

form .chk-block {
    line-height: 2.5;
    padding-left: 1em;
    
    text-align: justify;
    text-justify: inter-ideograph;
    word-break: break-all;
}
form .chk-block span {
    white-space: nowrap;
    /*color: rgba(0,0,0,0.7);*/
    font-size: 14px;
}




/*--- form-control ---*/
form .form-control {
    display: block;
    margin-right: 30px !important;
    font-size: 15px;
    font-weight: normal !important;
    /*color: rgba(0,0,0,1);*/
    letter-spacing: 1.5px;
    width: 100% !important;
    height: 43px;
    
    -webkit-box-shadow: none;
    -moz-box-shadow:    none;
    -ms-box-shadow:     none;
    -o-box-shadow:      none;
    box-shadow:         none;
    
    -webkit-border-radius: 0px;
    -moz-border-radius:    0px;
    -ms-border-radius:     0px;
    -o-border-radius:      0px;
    border-radius:         0px;
    
    -webkit-transition: all 0.3s;
    -moz-transition:    all 0.3s;
    -ms-transition:     all 0.3s;
    -o-transition:      all 0.3s;
    transition:         all 0.3s;
    
    padding: 5px 10px;
    background: #fff;
    border: none;
    border: 1px rgba(0,0,0,0.0) solid;
    
    font-size: 15px;
}
form .form-control:hover,
form .form-control:focus,
form .form-control:active {
    border: 1px rgba(0,0,0,0.8) solid;
    /*cursor: pointer;*/
}


/*--- Submit Button ---*/
form button {
    display: block;
    margin: 0 auto;
    margin-top: 60px;
    width: 90%;
    max-width: 350px;
    border: none;
    padding: 23px 0;
    border-radius: 100px;
    text-align: center;
    text-transform: uppercase;
    font-weight: 100;
    color: #fff;
    font-size: 18px;
    
    background: #043c78;
    
    -webkit-transition: all 0.3s;
    -moz-transition:    all 0.3s;
    -ms-transition:     all 0.3s;
    -o-transition:      all 0.3s;
    transition:         all 0.3s;
}
form button:hover {
    cursor: pointer;
    opacity: 0.8;
}

/*--- php button ---*/
form button.send {
    color: #fff;
    background: #043c78;
}
form button.send:hover {
    cursor: pointer;
    opacity: 0.8;
}
form button.back {
    background: #fff;
    color: #111;
    border: 1px rgba(0,0,0,0.2) solid;
    margin-top: 30px !important;
    margin-bottom: 0 !important;
}
form button.back:hover {
    cursor: pointer;
    opacity: 0.8;
}
form button i {
    padding-left: 14px;
}





form .title-block {
    display: block;
    width: 100%;
    margin-top: 50px;
    margin-bottom: -40px;
    
    padding-top: 39px;
    border-top: 1px rgba(0,0,0,0.3) solid;
}
form .title-block p {
    display: block;
    text-align: left;
    font-size: 17px;
}





/*- - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 1024px) {
/*- - - - - - - - - - - - - - - - - - - - -*/
    #form .link a {
        font-size: 12px;
    }
    form p {
        font-size: 12px;
    }
}


/*- - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 991px) {
/*- - - - - - - - - - - - - - - - - - - - -*/
    form label,
    form .form-control {
        font-size: 14px;
    }
    form {
        font-size: 14px;
    }
    form p {
        font-size: 11px;
    }
form .title-block p {
    font-size: 15px;
}
}
/*- - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 480px) {
/*- - - - - - - - - - - - - - - - - - - - -*/
    form {
        font-size: 14px;
    }
    form p {
        text-align: left !important;
    }
    form p.demo {
        text-align: center !important;
    }
    input[type=radio] {
        vertical-align: -0.4em;
    }
    form button {
        padding: 17.5px 0;
        font-size: 14px;
    }
form .title-block p {
    font-size: 15px;
}
}



/*------------------------------------------*/
/*            Form PHP - Table              */
/*------------------------------------------*/
form table.formTable {
	width: 100%;
	text-align: left;
}
form table.formTable th,
form table.formTable td {
	font-size: 14px;
    font-weight: normal;
	padding: 10px 10px;
    border-bottom: 1px rgba(0,0,0,0.4) solid;
    text-align: left;
}
form table.formTable th {
	width: 30%;
}
form table.formTable td {
	width: 70%;
}


/*- - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 1024px) {
/*- - - - - - - - - - - - - - - - - - - - -*/
    form table.formTable th,
    form table.formTable td {
	    font-size: 13px;
    }
    form table.formTable th {
	    width: 35%;
    }
    form table.formTable td {
	    width: 65%;
    }
}
/*- - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 480px) {
/*- - - - - - - - - - - - - - - - - - - - -*/
    form table.formTable th {
	    width: 30%;
    }
    form table.formTable td {
	    width: 70%;
    }
}



/*------------------------------------------*/
/*                #send-end                 */
/*------------------------------------------*/
#send-end {
    margin: 30px 0 200px 0;
    text-align: left;
}
#send-end h2,
#form h2 {
    font-size: 26px;
    font-weight: normal;
    letter-spacing: 3px;
    margin-bottom: 30px;
}
#send-end h2 span {
    display: block;
    margin-top: 15px;
    font-size: 17px;
    font-style: italic;
}
#send-end p {
    letter-spacing: 2px;
    text-transform: none;
}
#send-end .phone {
    margin-top: 25px;
}
#send-end .phone p.tel-link {
    display: block;
    margin-top: 10px;
}
#send-end .phone p.tel-link a.tel {
    font-size: 16px;
}


/*- - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 1024px) {
/*- - - - - - - - - - - - - - - - - - - - -*/
    #send-end h2,
    #form h2 {
        font-size: 22px;
    }
    #send-end h2 span {
        font-size: 13px;
    }
    #send-end p {
        font-size: 13px;
    }
    #send-end p a.tel{
        font-size: 14px;
    }
}
/*- - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 767px) {
/*- - - - - - - - - - - - - - - - - - - - -*/
    #send-end h2,
    #form h2 {
        font-size: 18px;
    }
    #send-end h2 span {
        font-size: 13px;
    }
    #send-end p {
        font-size: 13px;
    }
    #send-end p a.tel{
        font-size: 14px;
    }
}
/*- - - - - - - - - - - - - - - - - - - - -*/
@media screen and (max-width: 480px) {
/*- - - - - - - - - - - - - - - - - - - - -*/
    #send-end h2 {
        text-align: center;
        letter-spacing: 1.8px;
        font-size: 15px;
    }
    #send-end h2 span {
        font-size: 13px;
    }
    #send-end .phone p.tel-link {
        text-align: center;
    }
    #send-end .phone p.tel-link a.tel {
        text-align: center;
    }
}




