@charset "UTF-8";

/*============================
	company 共通
============================*/

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

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

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


/*============================
page__mv
============================*/
.page__mv {
    background: url(../img/cmn/page-mv_sky.jpg) no-repeat center center/cover;
}

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

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

@media screen and (max-width:767px) {
    .page__ttl .color-ma{
        font-size: 2rem;
    }
}


/*============================
	contents
============================*/
.contents {
    padding: 70px 0 150px;
}

.cnt__lead {
    font-size: 1.8rem;
    letter-spacing: .32em;
    text-align: center;
    line-height: 1.6;
    margin: 0 auto 70px;
    font-weight: 400;
}

.cnt__h3 {
    font-size: 2rem;
    font-weight: bold;
    padding-bottom: 15px;
    line-height: 1;
    border-bottom: solid 4px #b3b3b3;
    margin-bottom: 20px;
    position: relative;
}

.cnt__h3::before {
    content: "";
    position: absolute;
    width: 240px;
    height: 4px;
    background: #0e5ca7;
    left: 0;
    bottom: -4px;
}

.cnt__tel {
    letter-spacing: 0;
    margin-bottom: 50px;
}

.cnt__tel .color-ma {
    font-size: 3.2rem;
    line-height: 1;
}

.cnt__box {
    max-width: 815px;
    margin: 40px auto;
    border: solid 1px #b3b3b3;
    padding: 25px 3% 30px;
}

.cnt__box--ttl {
    text-align: center;
    margin-bottom: 20px;
    letter-spacing: 0;
}

.cnt__box--txt {
    font-size: 1.3rem;
    letter-spacing: 0;
}

@media screen and (max-width:1024px) {
    .contents {
        padding: 60px 0 80px;
    }

    .cnt__lead {
        font-size: 1.6rem;
        letter-spacing: .1em;
        text-align: center;
        line-height: 1.6;
        margin: 0 auto 40px;
    }

    .cnt__h3 {
        font-size: 1.6rem;
        padding-bottom: 10px;
        border-bottom: solid 4px #b3b3b3;
        margin-bottom: 20px;
    }

    .cnt__h3::before {
        width: 200px;
        height: 4px;
        bottom: -4px;
    }

    .cnt__tel {
        margin-bottom: 30px;
    }

    .cnt__tel .color-ma {
        font-size: 2.4rem;
    }

    .cnt__box {
        max-width: 815px;
        margin: 30px auto;
        padding: 20px 3% 30px;
    }

    .cnt__box--ttl {
        margin-bottom: 10px;
        font-size: 1.4rem;
    }

    .cnt__box--txt {
        font-size: 1.2rem;
    }
}

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

@media screen and (max-width:767px) {
    .contents {
        padding: 50px 0 60px;
    }

    .cnt__lead {
        font-size: 1.4rem;
        margin: 0 auto 30px;
    }

    .cnt__h3 {
        font-size: 1.4rem;
        padding-bottom: 10px;
        border-bottom: solid 3px #b3b3b3;
        margin-bottom: 20px;
    }

    .cnt__h3::before {
        width: 160px;
        height: 3px;
        bottom: -3px;
    }

    .cnt__tel {
        margin-bottom: 20px;
    }

    .cnt__tel .color-ma {
        font-size: 2rem;
    }

    .cnt__box {
        margin: 30px auto;
        padding: 15px 3% 20px;
    }

    .cnt__box--ttl {
        margin-bottom: 10px;
        font-size: 1.4rem;
    }

    .cnt__box--txt {
        font-size: 1rem;
    }
}

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


.tbl-form {
    width: 100%;
    max-width: 815px;
    border-collapse: collapse;
    table-layout: fixed;
    margin:0 auto 10px;
}

.tbl-form th {
    width: 25%;
    line-height: 50px;
    position: relative;
    text-align: left;
    line-height: 1.8;
    position: relative;
    font-size: 1.6rem;
    font-weight: bold;
}

.tbl-form td {
    width: 75%;
    line-height: 50px;
    padding-bottom: 20px;
    line-height: 1.8;
    position: relative;
}

.tbl-form input {
    width: 100%;
}

.tbl-form .va-mid {
    vertical-align: super;
}


.form__kind span {
    font-weight: bold;
}

.form__kind input {
    width: auto;
    position: relative;
    top: -3px;
}

.form__td--zip .input-text {
    margin-right: 20px;
}

.zip-mark {
    margin-right: 20px;
    vertical-align: super;
    font-weight: bold;
}

.form__td--adress .input-text,
.form__td--adress .input-select {
    margin-bottom: 10px;
}

.input-select {
    display: block;
    color: #ccc;
    background: #fff;
}

.input-select option {
    display: block;
    color: #222;
    background: #fff;
}

/*-- radioボタン --*/
.radio-label {
    display: block;
}

.radio-label input[type="radio"] {
    display: none;
}

.radio-text:before {
    content: "";
    position: absolute;
    left: -30px;
    top: 20px;
    display: inline-block;
    width: 20px;
    height: 20px;
    margin-right: 10px;
    border-width: 1px;
    border-style: solid;
    border-radius: 50%;
    padding: 4px;
    background-clip: content-box;
    vertical-align: sub;
}

/* .radio-label input[type="radio"]:not(:checked)+.radio-text:before {
  border-color: #2F231B;
} */

.radio-label input[type="radio"]:checked+.radio-text:before {

    background-color: #356bb3;
}

/*-- check boxボタン --*/
.input__check {
    appearance: auto;
    -webkit-appearance: revert;
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    position: relative;
    margin-right: 15px;
    background: #e7eef5;
}

.check-label {
    display: block;
    position: relative;
    margin-bottom: 10px;
}
/* 
.check-label::before {
    position: absolute;
    content: "";
    left: 0;
    top: 0;
    width: 20px;
    height: 20px;
    background: #e7eef5;
}


.check-label input[type="checkbox"]:checked+.check-label:before {
    background-color: #356bb3;
} 
*/

.check-label input {
-webkit-appearance: auto;
appearance: auto;
}
.check-label .wpcf7-list-item {
    margin: 0 0 0 0 !important;
}

.checkbox .input-text {
    width: 100%;
}


/*-- 入力種別 --*/
.tbl-form .form_ss {
    width: 60px;
    margin: 0 10px;
}

.tbl-form .form_s {
    width: 20%;
}

.tbl-form .form_m {
    width: 50%;
}

.tbl-form .form_l {
    width: 100%;
}

.form__kind li {
    padding: 0 40px 0 30px;
    line-height: 60px;
}

.form__kind li.mid {
    padding-left: 0;
}

/*-- 必須マーク --*/
.input__must {
    line-height: 20px;
    padding: 0 3%;

    font-size: 1.4rem;
    margin: 5px 0 0 20px;
    background: #c94120;
    color: #fff;
    display: block;
    float: right;

}


.form__area input[type="text"],
.form__area input[type="checkbox"],
.form__area input[type="radio"],
.form__area input[type="email"],
.form__area input[type="tel"],
.form__area input[type="select"],
.form__area input[type="file"],
.form__area textarea,
.form__area select {
    font-size: 1.6rem;
}

.form__area input[type="file"] {
    display: none;
}

.label__file {
    display: inline-block;
    width: 240px;
    line-height: 60px;
    color: #fff;
    cursor: pointer;
    background: url(../img/cmn/icon_file.png) no-repeat center left 10%, #2b3c76;
    text-align: center;
    border-radius: 30px;
    padding-left: 2%;
}

.file__txt01,
.file__txt02 {
    display: inline;
    margin-left: 20px;
}

.form__area input[type="checkbox"] {
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    margin-right: 10px;
}

.form__area input[type="radio"] {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
    margin-right: 10px;
}

.input-text {
    width: 100%;
    height: 50px;
    padding: 0 20px;
    background: #e7eef5;
}

.input-select {
    width: 40%;
    height: 40px;
    padding: 0 20px;
    border: 1px solid #ddd;
    /* -webkit-appearance: auto;
  appearance: auto; */
    border-radius: 5px;
}

.textarea {
    width: 100%;
    padding: 20px;
    min-height: 200px;
    background: #e7eef5;
    border: none;
}

th.any {
    vertical-align: top;
}

.form__caution {
    text-align: center;
    font-weight: bold;
    font-size: 1.8rem;
    color: #c94120;
    margin-bottom: 40px;
}

/* submit ボタン */
.input-button {
    background: #0e5ca7;
    border: solid 1px #0e5ca7;
    color: #fff;
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    display: block;
    max-width: 100%;
    width: 200px;
    line-height: 40px;
    position: relative;
    margin: 0 auto;
    transition: .5s;
    cursor: pointer;
}

.input-button:hover {
    opacity: .8;
    background: #fff;
    color: #0e5ca7;
}

/* 個人情報 */
.privacy {
    margin: 0 auto 70px 31%;
}

.privacy__txt a {
    text-decoration: underline;
    color: #0e5ca7;
}



.form__robot {
    margin: 0 0 30px 21%;
}


.btn_list .large {
    width: 60%;
}

.form__dd .input-text {
    width: 100%;
}

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

}





/*sp only*/
@media screen and (max-width:767px) {
    
    .tbl-form {
        display: block;
    }

    .tbl-form tbody {
        display: block;
    }

    .tbl-form tr {
        display: block;
    }

    .tbl-form th {
        display: block;
        width: 100%;
        font-size: 1.4rem;
        padding: 0 0 10px;
    }
    .tbl-form td {
        display: block;
        width: 100%;
        padding: 0 0 20px 0;
        font-size: 1.4rem;
    }
    .tbl-form th{
        display: block;
        width: 100%;
    }

    .input-text{
        height: 40px;
    }
    .privacy{
        margin: 0 0 40px;
    }

}