main h2 {
    font-size: 2.285714285714286vw;
    color: #000;
    margin-bottom: 1.428571428571428vw;
}

main h3 {
    color: #00518b;
    font-size: 21px;
    padding: 1.428571428571428vw;
    background-color: #eff6fc;
    margin: 2vw 0 2.1vw;
}

main p {
/*    font-size: 1vw;*/
    margin: 0.357142857142857vw 0;
}

main h4 {
/*    font-size: 1.428571428571428vw;*/
    max-width: 1400px;
    position: relative;
    left: 0.857142857142857vw;
    margin: 1.428571428571428vw 0;
}
main h4:before {
    display: block;
    content: "";
    width: 0.5vw;
    height: 100%;
    background: #0065ae;
    position: absolute;
    top: 50%;
    transform: translatey(-45%);
    left: -0.857142857142857vw;
}

main img {
    max-width: 100%;
    height:auto;
}

main table {
    width: 100%;
    border: 1px solid #bdd0e3;
    border-collapse: collapse;
    margin: 1.4vw 0;
}

main table th {
    padding: 1.4vw;
    border-bottom: 1px solid #bdd0e3!important;    
    border-left: 1px solid #bdd0e3!important;
    background: #eff6fc;
    display: table-cell;
}
main table td {
    padding: 1.4vw;
    border-left: 1px solid #bdd0e3;
    border-bottom: 1px solid #bdd0e3;
    border-right: 1px solid #bdd0e3;
    display: table-cell;
}
main a {
    color: #0099c3;
}

main a.button {
    width: 40vw;
    height: 4.642857vw;
    border-radius: 4px;
    border: 1px solid #0065ae;
    font-size: 1.143vw;
    font-weight: 700;
/*    background: #0065ae 0% 0% no-repeat padding-box;*/
    background: url("../image/icon_arrow_right_white.svg") no-repeat center right 2vw #0065ae;
    color: #fff;
    display: grid;
    place-items: center;
}

main a.button_c {
    width: 40vw;
    height: 4.642857vw;
    border-radius: 4px;
    border: 1px solid #0065ae;
    font-size: 1.143vw;
    font-weight: 700;
    background: #fff 0% 0% no-repeat padding-box;
    color: #0065ae;
    display: grid;
    place-items: center;
}

main .ta-c a.button,
main .ta-c a.button_c {
    margin: 0 auto;
}

main table table {
    margin: 0;
    border: none;
}
main table table td {
    border: none;
    padding: 0.4vw;
}


main ol,
main ul {
    margin: 1em 1em 1em 2em;
}
main li {
    margin-bottom: 0.7em;
}
main li ul.nomarker{
    margin-left: 0;
}

main .nomarker li {
    list-style: none;
    text-indent: -1em;
    margin-left: 1em;
}

main .anker,
main .col_ {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 30px 0 40px;
}
main .anker a {
    border-radius: 4px;
    width: 28vw;
    height: 4.429vw;
    color: #fff;
    background: url(../image/icon_arrow_down_white.svg) no-repeat center right 2vw #0065ae;
    padding-right: 20px;
    display: grid;
    place-items: center;
    margin-right: 1.5vw;
}
main .col_ a {
    border-radius: 4px;
    width: 28vw;
    height: 4.429vw;
    color: #fff;
    display: grid;
    place-items: center;
    margin-right: 1.5vw;
}

main .anker a:last-child,
main .col_ a:last-child {
    margin-right: 0;
}
main .anker a span {
    padding: 0 2vw 0 2vw;
    text-align: center;
}

main .col_ {
    display: flex;
    flex-direction: row;
    justify-content: center;
    margin: 30px 0 40px;
}

main div.w850_box {
    width: 850px;
    margin: 0 auto;
}

.mb10 { margin-bottom: 10px!important; }
.mb20 { margin-bottom: 20px!important; }
.mb30 { margin-bottom: 30px!important; }
.mb40 { margin-bottom: 40px!important; }
.mb50 { margin-bottom: 50px!important; }
.mb60 { margin-bottom: 60px!important; }
.mb70 { margin-bottom: 70px!important; }
.mb80 { margin-bottom: 80px!important; }


.mt0 { margin-top: 0!important; }
.mt10 { margin-top: 10px!important; }
.mt20 { margin-top: 20px!important; }
.mt30 { margin-top: 30px!important; }
.mt40 { margin-top: 40px!important; }
.mt50 { margin-top: 50px!important; }
.mt60 { margin-top: 60px!important; }
.mt70 { margin-top: 70px!important; }
.mt80 { margin-top: 80px!important; }


.ta-l { text-align: left; }
.ta-c { text-align: center; }
.ta-r { text-align: right; }
.va-t { vertical-align: top; }

@media screen and (max-width: 640px) {
    main img {
        max-width: 100%;
    }
    main h2 {
        font-size: 6.4vw;
        color: #000;
        margin: 5.3vw 0 6.5vw;
    }
    main h3 {
        font-size: 4.266666666666667vw;
        padding: 5.333333333333333vw;
        border-radius: 5px;
        margin-top: 10vw;
    }
    main h4 {
        font-size: 4.8vw;
        margin-top: 6vw;
        margin-bottom: 5.333333333333333vw;
        padding-bottom: 2.666666666666667vw;
        border-left: none;
        border-bottom: 3px solid #0065ae;
    }
    main h4:before {
        display: none;
    }
    
    main .anker,
    main .col_{
        flex-direction: column;
    }
    main .anker a  {
        height: 13.333vw !important;
        padding-right: none;
        display: flex;
        margin-right: 0;
        margin-bottom: 3.2vw;
        width: auto;
        background: url(../image/icon_arrow_down_white.svg) no-repeat center right 5vw #0065ae;
    }
    main .anker a span {
        font-size: 3.7vw;
        text-align: left;
    }
    main .table_scroll.table_container table {
        width:auto;
    }
    
    main a.button ,
    main a.button_c {
        height: 13.666667vw !important;
        padding: 0 16vw !important;
        font-size: 4vw !important;
        margin: 10px 0;
        width: auto;
    }

}

@media screen and (max-width: 1080px) {
    main .table_scroll.table_container table tr th,
    main .table_scroll.table_container table tr td {
        white-space: nowrap;
    }
    main div.w850_box {
        width: unset;
    }
}


/*QA*/

.qaBox {
    font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
}

.qaBox dt {
    position: relative;
    color: #00518b;
    padding: 14px 24px 14px 52px;
    background-color: #eff6fc;
    margin: 2vw 0 2.1vw;
    font-weight: 600;
}

.qaBox dt:before {
    display: block;
    content: "Q";
    height: 100%;
    color: #0065ae;
    position: absolute;
    left: 20px;
    font-weight:bold;
}
.qaBox dd {
    position: relative;
    padding: 0 24px 24px 52px;
    margin: 2vw 0 2.1vw;
    font-weight: 600;
}

.qaBox dd:before {
    display: block;
    content: "A";
    height: 100%;
    color: #ff0000;
    position: absolute;
    left: 20px;
    font-weight:bold;
}

/*アコーディオン*/

.voice_ {
    display: flex;
    margin-top:30px;
    margin-bottom:60px;
}
.voice_ .img {
    float: left;
    padding-right: 60px;
}
div.txt {
    display: inline-block;
    width: 75%;
    float: left;
}

div.txt h3 {
    margin-top: 0;
}


.more{
    margin-top: 30px;
    background-color: #0065ae;
    /*padding: 15px;*/
    padding: 5px;
    /*color: #2073c8;*/
    color: #fff;
    font-size: 14px;
    /*background: #fff;*/
    background-color: #0065ae;
    /*position: relative;*/
    /*width: 190px;*/
    width: 150px;
    text-align: center;
    border-radius: 4px;
    font-family: "Hiragino Kaku Gothic ProN", "Noto Sans JP", sans-serif;
    border: 2px solid #2073c8;
    font-weight: bold;
    border-radius: 7.73vw;
}
.more span{
    position: relative;
}
.more_detail{
 display: none;
 vertical-align: top;
}

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

.voice_ {
    display: grid;
    margin-top:30px;
    margin-bottom:60px;
}
.voice_ .img {
    float: unset;
    padding-right: 0;
    text-align: center;
}
div.txt {
    display: inline-block;
    width: 100%;
}

.more{
    margin: 25px auto 0;
}

}

.block_.ir_ p.img_ {
    margin: 0 auto;
    display: grid;
/*    width: 250px;*/
}



/*　先輩社員の声　*/
.employee_cont {
    display: flow-root;
}
.employee_cont .employee_box {
    border-radius: 10px;
    border: 2px solid #0099C3;
    width: 407px;
    float: left;
    display: block;
    margin-bottom: 30px;
}
.employee_cont .employee_box:nth-child(n) {
    margin: 7px;
}

.employee_cont .employee_box .img_ {
    float: left;
    width: 40%;
    padding: 20px 10px 20px 20px;
    display: inline-block;
}
.employee_cont .employee_box .img_ img {
    width: 100%;
}
.employee_cont .employee_box .body_ {
    width: 45%;
    padding: 20px 20px 20px 10px;
    display: inline-block;
    float: right;
}

.employee_cont .employee_box .body_ h3 {
    font-size: 15px;
    background: no-repeat;
    color: #000;
    margin: 10px 0;
    border-bottom: 1px solid #00518b;
    padding: 0 0 9px;
}

.employee_cont .employee_box .body_ p {
    font-size: 15px;
    padding-top: 10px;
    font-weight: bold;
    color: #000;
}

.employee_cont .employee_box .body_ p.name_ small {
    font-size: 13px;
    font-weight: 300;
}

@media screen and (max-width: 985px) {
    .employee_cont .employee_box {
        width: 100%;
        margin-bottom:30px;
    }
    .employee_cont .employee_box .img_ {
        width: 35%;
        padding: 5%;
    }
    .employee_cont .employee_box .body_ {
        width: 45%;
        padding: 5%;
    }
}


.profile_list p {
    display: inline-block;
    text-align: center;
}
.profile_list img {
    width: 350px;
}
.profile_list_block p {
    width: 19%;
    /*display: inline-block;*/
}
@media screen and (max-width: 785px) {
    .profile_list img {
        width: 100%;
    }
    .profile_list_block p {
        /*width: 49%;*/
        /*display: inline-block;*/
        /*text-align: center;*/
        text-align: left;
        display: block;
    }
}

iframe {
    max-width: 100%;
}


/* apj製品情報 */

.apj_ .box_ {
    border: 1px solid #b9b9b9;
    padding: 20px;
    border-radius: 3px;
    display: flex;
    margin-bottom: 30px;
}
.apj_ .box_ ul{
    margin-left: 0px;
}
.apj_ .box_ p {
    margin: 0;
}
.apj_ .box_ img {
    width: 200px!important;
    max-width: unset;
    padding-right: 30px;
}

@media screen and (max-width: 785px) {
.apj_ .box_ {
    display: block;
    margin-top: 30px;
}
.apj_ .box_ img {
    padding-right: 0;
}

}

/*　サイト内検索　*/


main .nomarker li.sdata_ {
    margin: 2em 0;
    padding-bottom: 2em;
    border-bottom: 1px solid #f3f3f3;
    text-indent: 0;
}

main .nomarker li.sdata_ p {
    color: #1f2d37;
}
main .sitesearch_ {
    position: relative;
    width: 800px;
}
main .sitesearch_ .searchBox {
    width: 100%;
    height: 40px;
    border: 1px solid #e6e6e6;
    padding: 0 0 0 13px;
    border-radius: 3px;
}

main .label_search_box {
    position: absolute;
    top: 50%;
    transform: translateY(-40%);
    right: 7px;
    height: 18px;
    padding-right: 20px;
    background: url(../image/icon_h_search.png) center center no-repeat;
    background-size: contain;
}
@media screen and (max-width: 1023px) {
    main .sitesearch_ {
        width: 100%
    }
    main .sitesearch_ .searchBox {
        max-width:unset;
    }
}
img.icoBlank {
    padding-left: 7px;
    position: relative;
    top: 3px;
}
