body {
    /*font-family: "Noto Sans JP", sans-serif;*/
    font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
    background-color: #ffffff;
    color: rgba(61, 61, 61, 1.00);
    overflow-x: hidden;
}

.fm01 {
    font-family: Arial, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
}

.fm02 {
    font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
    font-weight: 500;
}

.fmc03 {
    font-family: "Times New Roman", "游明朝", "Yu Mincho", "游明朝体", "YuMincho", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "HiraMinProN-W3", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", serif;
    font-weight: 500;
}

a {
    color: #003a59;
    letter-spacing: 1px;
    word-break: break-all;
}

a:hover {
    color: #A6A6A6;
    text-decoration: none;
}

.p_color {
    color: #003a59;
}


/*.infopdf{
    display: none;
}*/

.opalink {
    color: rgba(61, 61, 61, 1.00);
}


.opalink:hover {
    opacity: 0.7
}

/*.toph3{
  padding: 1rem 1rem;
  border-bottom: double 5px #FF7878;

}*/

.toph3 {
    border-bottom: solid 3px #CFCFCF;
    position: relative;
}

.toph3:after {
    position: absolute;
    content: " ";
    display: block;
    border-bottom: solid 3px #4A4A4A;
    bottom: -3px;
    width: 20%;
}

.toph4 {
    position: relative;
    padding: 0 30px;
    text-align: center;
}


.toph4:before {
    position: absolute;
    top: calc(50% - 1px);
    left: 0;
    width: 100%;
    height: 2px;
    content: '';
    background: #000;
}

.toph4 span {
    position: relative;
    padding: 0 1em;
    background: #fff;
    font-size: 1.5rem;
}

@media screen and (max-width:991px) {
    .toph4 span {
        font-size: 1.1rem;
    }

    .toph3 {
        font-size: 1.2rem;
    }
}

p,
.divnum {
    line-height: 2.3rem;
    letter-spacing: 1px;
}

.ft20 {
    font-size: 24px;
}

.rectborder {
    border: 2px solid #ffffff;
}

.h1cus {
    /*font-weight: bold;*/
    color: #000000;
    letter-spacing: 2px;
}

.h1small {
    font-size: 18px;
    line-height: 28px;
}

.nav-link.active,
.nav-item.show .nav-link {
    color: #ffffff !important;
    background-color: #0665a9 !important;
}

.card {
    background-color: transparent;
}

.card-title {
    background-color: #0665a9;
    color: white;
    padding: 4px 10px;
}

.card-header {
    background-color: #0665a9;
    color: white;
}

.card-text {
    padding: 4px 10px;
}

/*
.container p{
    font-size: 18px;
}*/
@media screen and (max-width:767px) {
    .topblack767 {
        padding-left: 0px;
        padding-right: 0px;
    }

    .containerblk {
        max-width: 100% !important;
    }
}



.bgblack50 {
    background-color: rgba(0, 0, 0, 0.50)
}

.btn-secondary {
    background-color: #0665a9;
    border-color: transparent;
}

.hmt-6 {
    margin-top: 85px;
}

.bghmt {
    background-image: url("../images/company/back_image.png");
    background-position: center center;
    background-size: cover;
}

.hmt-con-top {
    margin-top: 90px;
}

.pcolor {
    color: #0665a9;
    font-weight: bold;
}

.hheight {
    height: 80px;
}

@media screen and (min-width:991px) {
    .en-text {
        -ms-writing-mode: tb-rl;
        -webkit-writing-mode: vertical-rl;
        text-orientation: upright;
        writing-mode: vertical-rl;
    }
}

.tatesize {
    font-size: 2.6rem;
}

.tatecolor {
    /*    color:#0665a9;*/
}


.topblockimg {
    position: relative;
}

.topblockimg p {
    position: absolute;
    color: white;
    font-weight: bold;
    font-size: 1.2em;
    top: 10px;
    left: 0;
    padding: 10px;
    background-color: #0665a9;
}

.topblockimg img {
    width: 100%;
}


.topbgarea {
    min-height: 100vh;
    background-position: bottom center;
}

.topbgareasub {
    min-height: 100vh;
    /* background-color: rgba(0,0,0,0.50);*/
}

@media screen and (max-width:767px) {
    .topbgareasub {
        min-height: 50vh;
        /* background-color: rgba(0,0,0,0.50);*/
    }
}

.h2_01 {
    padding: 1rem 3rem;
    /*-webkit-transform: skew(-15deg);
  transform: skew(-15deg);*/
    color: #fff;
    background-image: -webkit-gradient(linear, left top, right top, from(#1b4d98), to(#133A73));
    background-image: -webkit-linear-gradient(left, #1b4d98 0%, #133A73 100%);
    background-image: linear-gradient(to right, #1b4d98 0%, #133A73 100%);

}

.h2_02 {
    padding: 1rem 2rem;
    border-left: 4px solid #003a59;
}


.topsparea {
    min-height: 100vh;
    background-image: url("../images/topsparea.jpg");
    background-position: center center;
    background-repeat: no-repeat;

}

@media screen and (max-width:990px) {
    .topsparea {
        height: auto;
        background-image: url("../images/topsparea_sm.jpg");
        background-position: center top;
    }

    .tatesize {
        font-size: 2.0rem;
    }
}



.sono3 {
    /*background: repeating-linear-gradient(rgba(0,0,0,0.40),rgba(0,0,0,0.00));*/
    /*background-color: #ffffff;*/
    /*box-shadow: 0px 10px 10px -5px rgba(0,0,0,0.3);*/
    margin-bottom: -80px;
    z-index: 1030;
}

.sono3 .navbar-nav .nav-link {
    /*    color: rgba((255,255,255,1.00)); */
    /*color: rgba(255,255,255,1.00);*/
    color: #000000;
    font-size: 18px;
}

@media screen and (max-width:990px) {
    .sono3 .navbar-nav .nav-link {
        text-align: right;
        border-top: 1px solid #ffffff;
        padding-top: 15px;
        padding-bottom: 15px;
        color: white;
    }

    .hmt-6 {
        margin-top: 65px;
    }

    .sono3 {
        margin-bottom: 0;
        background-color: #22abf4;
    }
}



.sono3 .navbar-nav .nav-link:hover {
    color: #545454;
}

.sono3 .navbar-nav .active>.nav-link {
    color: white;
}

.sono3 .navbar-toggler {
    border-color: white;
    background-color: transparent;
    /*background-color: #ffffff;*/
    width: 110px;
}

.navbar-toggler-icon {
    width: auto;
}

.sono3 button>.navbar-toggler-icon {
    color: white;
    border-color: white;
    padding-top: 3px;
}

footer a.text-light:hover {
    color: #fed136 !important;
    text-decoration: none;
}

footer .cizgi {
    border-right: 1px solid #535e67;
}

@media (max-width: 992px) {
    footer .cizgi {
        border-right: none;
    }
}


.footerbg {
    min-height: 250px;
    background-image: url("../image/footer1.jpg");
    background-position: left center;
    background-size: cover;
}

.btn-info {
    color: #fff;
    background-color: #00299A;
    border-color: #00299A;
}

.btn-info:hover {
    background-color: #003ADB;
    border-color: #003ADB;
}

.topbtn-info {
    color: #fff;
    background-color: rgba(60, 182, 251, 1.00);
    border-color: rgba(60, 182, 251, 1.00);
}


#main {
    color: rgba((255, 255, 255, 1.00));
}

.navbar-brand {
    color: rgba((255, 255, 255, 1.00));
}

.tophedder {
    position: relative;
    height: 100%;
}

.carousel-caption {
    /*top:45%;*/
    color: rgba((255, 255, 255, 1.00));

}

@media screen and (max-width:575px) {
    .carousel-caption {
        position: absolute;
        width: 85%;
        /* right: 15%; */
        left: 5%;
        z-index: 10;
    }
}


.stitlehosoku {

    font-size: 1.4em;

}

.stitle {
    color: #311300;
    font-weight: bold;
    /*    font-size: 1.8em;*/
    background-color: rgba(255, 255, 255, 0.75);
    padding: 10px;
}

.sgreen {
    color: #ffffff;
    font-weight: bold;
    /*    font-size: 2.4em !important;*/
    background-color: rgba(25, 87, 41, 0.75);
    padding: 10px;
}

@media screen and (max-width:600px) {
    .sgreen {
        /*        font-size: 1.4em !important;*/
        padding: 10px;
    }

}




.sword {
    display: block;
    font-weight: bold;
    font-size: 2.0em;
    margin-top: 20px;

}

.stitlesub {
    color: #ffffff;
    font-weight: bold;
    font-size: 2.0em;

}

.stitlesub2 {
    color: #ffffff;
    font-weight: bold;
    font-size: 1.6em;

}

.subtopmenu li a {
    font-size: 1.2em;
}

.line_green {
    border: none;
    height: 1px;
    background: rgb(49, 19, 0);
    background: linear-gradient(90deg, rgba(49, 19, 0, 1) 0%, rgba(255, 255, 255, 1) 29%, rgba(255, 255, 255, 1) 69%, rgba(49, 19, 0, 1) 100%);
    margin-top: 30px;
    margin-bottom: 30px;
}

.ft_bg_01 {
    background: url("../images/top/top_footer_img.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}

.ft_bg_02 {
    background: url("../images/company/corp_footer_img.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}

.ft_bg_03 {
    background: url("../images/business/zigyou_footer_img.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}

.ft_bg_04 {
    background: url("../images/recruit/recruit_footer_img.jpg");
    background-repeat: no-repeat;
    background-size: cover;
}

.ft_bg_05 {
    background: url("../images/contact/contact_footer_img.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;

}

@media screen and (max-width:675px) {
    .ft_bg_05 {
        background: url("../images/contact/contact_footer_sp.jpg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;

    }
}

.btn-contact {
    color: white;
    border: solid 1px white;
    padding-left: 30px;
    padding-right: 30px;
}

.btn-contact:hover {
    color: #C0C0C0;
    border: solid 1px;
}

.ftbg {
    background: #003a59;
    color: #ffffff;
    font-weight: bold;
    /*background: url("../images/f_bg.jpg");*/
    background-position: center
}

.ftbg a {
    color: #ffffff;
}

.ftbg a:hover {
    color: #C0D4F3;
}

.ftbg2 {
    background-color: #000000;
    color: white;
}

.tplogo {
    max-height: 50px;
}

.navbar-brand span {
    color: white;
    font-weight: bold;
    font-size: 22px;
}

@media screen and (max-width:575px) {
    /*    .tplogo{
        width: 200px;
    }*/
}

@media screen and (max-width:430px) {
    .navbar-brand span {
        font-size: 16px !important;
    }

    .tplogo {
        width: 55px;
        height: auto;
    }
}


.blockmidashi {
    font-weight: bold;
    font-size: 1.3em;
    color: #311300;
}

.blockheight {
    height: auto;
}

.mainvh100 {
    height: 100vh;
}

.mvleft {
    position: relative;
    height: calc(100vh - 48px);

    /*background-color: rgba(123,0,135,1.00);*/
    background-image: url("../image/808671.jpg");
    background-position: center center;
}

.mvlefttitle {
    position: absolute;
    width: 75%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.ft01 {
    font-size: 20px;
    color: white;
}

.ft02 {
    font-size: 40px;
    color: white;
}

.ft03 {
    font-size: 22px;
    font-weight: bold;
    letter-spacing: 1px;
}

.ft03big {
    font-size: 30px;
    font-weight: bolder;
    letter-spacing: 5.5px;
}

.cred {
    color: red;
}

.bgglay {
    background-color: #231916;
}

.works_contents ul {
    overflow: hidden;
}

.works_contents ul li {
    list-style-type: none;
    width: 50%;
    margin: 0 0px 0px 0;
    font-size: 14px;
    float: left;
}

.works_contents ul {
    padding-inline-start: 8px !important;
}

@media screen and (max-width:767px) {
    .works_contents ul li {
        list-style-type: none;
        width: 90%;
        margin: 0 0px 0px 0;
        float: left;
    }

    .works_contents ul {
        padding-inline-start: 8px !important;
    }
}


.mvright {
    position: relative;
    height: calc(100vh - 48px);
    background-image: url("../image/67237945.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;

}

.mvrtxt01 {
    position: absolute;
    bottom: 20%;
    left: 10%;
    font-size: 28px;
    color: rgba((255, 255, 255, 1.00));
    background-color: rgba(255, 255, 255, 0.89);
    padding: 25px 35px 25px 15px;
    border-bottom: #311300 4px solid;
}

.top3line01 {
    position: relative;
    background-image: url("../image/topblock01.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    height: 500px;
}

.top3conarea {
    position: absolute;
    width: 80%;
    height: 300px;
    top: 10%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    background-color: rgba(255, 255, 255, 0.9);
    border-top: #311300 4px solid;
}

.slinetitle {

    font-size: 24px;
    font-weight: bold;
    letter-spacing: 3px;
    padding: 15px 25px;


}

.topbt {
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.top3line02 {
    background-image: url("../image/topblock02.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    height: 500px;
}


.top3line03 {
    background-image: url("../image/topblock03.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    height: 500px;
}


.top3line04 {
    background-image: url("../image/topblock04.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    height: 500px;
}


.p-page-header__inner {
    height: 100px;
    position: absolute;

    left: 50%;
    transform: translateX(-50%);
    top: 50%;

}


.p-page-header__titletop {
    /*    background:rgba(30,38,120,0.60);*/
    color: #fff;
    /*    color: rgba(61,61,61,1.00);*/
    /* display: -webkit-box;
    display: -webkit-flex; 
    display: -ms-flexbox; 
    display: flex; */
    -webkit-box-align: center;
    -ms-flex-align: center;
    -ms-grid-row-align: center;
    align-items: center;
    justify-content: center;
    /*font-size: 48px; */
    /*line-height: 1.5; */
    /*height: 200px;*/
    margin-bottom: 0;
    font-weight: 700;
}



.p-page-header__title {
    /* background:rgba(0,41,154,0.70);*/
    color: #fff;
    text-shadow:
        black 1px 1px 10px, black -1px 1px 10px,
        black 1px -1px 10px, black -1px -1px 10px;
    /*display: -webkit-box;
    display: -webkit-flex; 
    display: -ms-flexbox; 
    display: flex; */
    -ms-grid-row-align: center;
    align-items: center;
    justify-content: center;
    /*font-size: 28px; */
    /*line-height: 1.5; */
    /*width: 250px; */
    /*height: 100px; */
    margin-bottom: 0;
    font-weight: 700;
}

.underh1 {
    font-size: 2rem;
}

@media screen and (max-width:767px) {
    .underh1 {
        font-size: 1.4rem;
    }
}

.topca {
    /*  text-shadow:1px 0 0 #fff,0 1px 0 #fff,-1px 0 0 #fff,0 -1px 0 #fff,3px 3px 0 #fff;
*/
    text-shadow: 1px 0 0 #0665a9, 0 1px 0 #0665a9, -1px 0 0 #0665a9, 0 -1px 0 #0665a9, 3px 3px 0 #0665a9;
    color: #ffffff;
}

.screen {
    width: 100vw;
    height: 700px;
    border: 1px solid red;
    overflow: hidden;
    position: relative;
}

.inner {
    /*  width: 120vw;*/
    width: 120vw;
    margin-left: -10vw;
    /* screenからはみ出る20vwの半分、左にずらす */

}

.link-block {
    display: block;
    width: 60vw;
    height: 700px;
    position: relative;

    transform: skew(-20deg);
    float: left;
}








.nanamebg01 {
    background-image: url("../image/li01_01.jpg");
    background-size: cover;
    transform: skew(0deg);
}

.nanamebg02 {
    background-image: url("../image/mailform_main_pc.jpg");
    background-size: cover;
}

.link-block:hover {
    opacity: 0.7;
}

.contents {
    transform: skew(20deg);
    /* 文字が変形してしまうので戻す */
    width: 225px;
    height: 175px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
}









.h2overborder {
    position: relative;
    width: 390px;
    /*  margin: 20px auto;*/
    padding: 10px;
    text-align: left;
}

.h2overborder:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 330px;
    height: 3px;
    background: #007db9;
}

.h2overborder:after {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 110px;
    height: 3px;
    background: #0665a9;
}


.underbg01 {
    position: relative;
    height: 50vh;
    background-image: url("../images/topback01.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    /*    font-size: 18px;*/
    font-weight: bold;
    letter-spacing: 5px;
}

@media screen and (max-width:767px) {
    .underbg01 {
        height: 40vh;
    }
}

.topjigyotxtarea {
    height: 600px;
    background-color: #0665a9;
}

.topback01 {
    height: 600px;
    background-image: url("../image/topback01.jpg");
    background-position: center center;
    background-repeat: no-repeat;
}

.topback02 {
    height: 600px;
    background-image: url("../image/topback02.jpg");
    background-position: center center;
    background-repeat: no-repeat;
}

@media screen and (max-width:767px) {
    .topback01 {
        height: 300px;
        background-image: url("../image/topback01.jpg");
        background-position: center center;
        background-repeat: no-repeat;
    }

    .topback02 {
        height: 300px;
        background-image: url("../image/topback02.jpg");
        background-position: center center;
        background-repeat: no-repeat;
    }
}




.underbg03 {
    position: relative;
    height: 250px;
    background-image: url("../image/tenpo_banner_003.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    /*    font-size: 18px;*/
    font-weight: bold;
    letter-spacing: 5px;
}

.underbg04 {
    position: relative;
    height: 250px;
    background-image: url("../image/zikkenshistu_banner.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    /*    font-size: 18px;*/
    font-weight: bold;
    letter-spacing: 5px;
}

.underbg05 {
    position: relative;
    height: 250px;
    background-image: url("../image/setssubi_banner.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    /*    font-size: 18px;*/
    font-weight: bold;
    letter-spacing: 5px;
}

.underbg06 {
    position: relative;
    height: 250px;
    background-image: url("../image/oem_banner.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    /*    font-size: 18px;*/
    font-weight: bold;
    letter-spacing: 5px;
}

.underbg07 {
    position: relative;
    height: 250px;
    background-image: url("../image/pb_banner.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    /*    font-size: 18px;*/
    font-weight: bold;
    letter-spacing: 5px;
}

.underbg08 {
    position: relative;
    height: 250px;
    background-image: url("../image/coffea_sample.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    /*    font-size: 18px;*/
    font-weight: bold;
    letter-spacing: 5px;
}

.underbg09 {
    position: relative;
    height: 250px;
    background-image: url("../image/recruit_banner.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    /*    font-size: 18px;*/
    font-weight: bold;
    letter-spacing: 5px;
}

.underbg10 {
    position: relative;
    height: 250px;
    background-image: url("../image/syouhin_banner.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    /*    font-size: 18px;*/
    font-weight: bold;
    letter-spacing: 5px;
}

.storebg {
    position: relative;
    height: 100px;
    background-image: url("../image/brown_banner.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    font-weight: bold;
    letter-spacing: 5px;
}


.storebg2 {
    position: relative;
    height: 100px;
    background-image: url("../image/brown_banner2.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    color: #ffffff;
    font-weight: bold;
    letter-spacing: 5px;
}









.undertitle {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}


.frame,
.frame2 {
    width: 100%;
}

@media screen and (min-width:992px) {
    .blockheight {
        height: 80px;
    }

    .rborder {
        border-right: 2px solid #311300;
    }

    .lborder {
        border-left: 2px solid #311300;
    }

    .frame {
        position: relative;
        display: inline-block;
        width: 100%;
        height: 450px;
        border: 5px solid #fff;
        box-shadow: 0 0 4px #999;
        transform: rotate(15deg);
        /* 全体を回転 */
        overflow: hidden;
        /* 不要部分は消す */
    }

    .frame img {
        margin-top: -50px;
        margin-left: -130px;
        /* ポジション調整 */
        transform-origin: 0 0;
        transform: rotate(-15deg);
        /* 写真は元に戻す */
    }

    .frame2 {
        position: relative;
        display: inline-block;
        width: 100%;
        height: 450px;
        border: 5px solid #fff;
        box-shadow: 0 0 4px #999;
        transform: rotate(-15deg);
        /* 全体を回転 */
        overflow: hidden;
        /* 不要部分は消す */
    }

    .frame2 img {
        margin-top: -140px;
        margin-left: -150px;
        /* ポジション調整 */
        transform-origin: 0 0;
        transform: rotate(15deg);
        /* 写真は元に戻す */
    }

}

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

    .frame img,
    .frame2 img {
        width: 100%;
    }
}

.h2title {}

h2.h2title {
    font-weight: bold;
    font-size: 40px;
    position: relative;
    padding: 1.5rem;
    text-align: center;

}

h2.h2title:before {
    position: absolute;
    bottom: -5px;
    left: calc(50% - 40px);
    width: 80px;
    height: 4px;
    content: '';
    border-radius: 3px;
    background: #311300;
}

.contxt {
    padding-top: 40px;
    padding-left: 20px;
    padding-right: 20px;
    line-height: 2.8;
}

h2.h2small {
    color: #311300;
    font-size: 22px;
    padding-top: 46px;
}

.h2smallhosoku {
    font-size: 32px;
    line-height: 1.2 !important;
    padding-left: 0px;
    padding-top: 0px;
}



.tb tr,
.tb td {
    border: 1px solid #003a59;
    padding: 17px 20px;
    line-height: 2.2;

}

.td1 {
    text-align: center;
    height: 45px;
    vertical-align: middle;
    width: 20%;
    /*    background-color: #FDEDD9 !important;*/
    color: #311300;
}

.td2 {
    text-align: left;
    height: 45px;
    vertical-align: middle;
    /*width: 80%;*/
}


.td3 {
    border: none !important;
    padding: 17px 25px;
    line-height: 2.2;

    text-align: left;
    height: 45px;
    vertical-align: middle;
    width: 40%;
    /*    color: #ffffff;*/
}

.td4 {
    border: none;
    padding: 17px 25px;
    line-height: 2.2;

    text-align: left;
    height: 45px;
    vertical-align: middle;
    width: 60%;
}

.td5 {
    border: none;
    padding: 17px 25px;
    line-height: 2.2;

    text-align: left;
    height: 45px;
    vertical-align: middle;
    width: 180px;
}

@media screen and (max-width: 750px) {
    .td4 {
        border-bottom: solid #001267 1px !important;
    }

}

@media screen and (min-width: 750px) {
    .tdbg {
        border-right: solid #FFFFFF 1px !important;
    }
}

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

    .tb tr,
    .tb td {
        border: none;
        /*        padding: 17px 25px;
        line-height: 2.2;*/

    }

    .td1,
    .td2 {
        display: block;
        width: 100%;
        height: auto;

    }

    .td1 {
        text-align: left;
        background-color: #003a59;
        color: white;
    }

    .td2 {
        padding-top: 0px;
    }

    /*.tb100{
        min-width: 100%;
    }*/
}


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

    .tb tr,
    .tb td {
        border: none;
        /*        padding: 17px 25px;
        line-height: 2.2;*/

    }

    .td3,
    .td4,
    .td5 {
        display: block;
        width: 100%;
        height: auto;
        padding: 10px 12px !important;
    }

    .td3 {
        text-align: left
    }

    .td4 {
        padding-top: 0px;
    }

    .td5 {
        border-bottom: 1px solid rgba(6, 101, 169, 1.00) !important;
    }

    .tabtbl100 {
        width: 90%;
    }
}

.tdbg {
    background-color: rgba(6, 101, 169, 1.00);
    color: #ffffff;
}



.btn-success {
    background-color: #311300;
    border-color: #311300;
}

.btn-success:hover {
    background-color: rgba(5, 131, 70, 0.80);
    ;
    border-color: #311300;
}




.titletext {
    font-size: 40px;
}



.tblock {
    margin-top: 15px;
    margin-bottom: 15px;
    padding-top: 15px;
    padding-bottom: 15px;
}



/*no1*/
.txt--c {
    text-align: center;
    font-size: 18px;
    color: #2b2b2b;
}

.section__title__field .section__title__text {
    font: 500 50px "Noto Sans JP", sans-serif;
}

.section__title__field .section__subtitle__text {
    font: 400 18px "Noto Sans JP", sans-serif;
}


/*no2*/
.midashi {
    font-weight: 600;
    padding: 0.25em 0.25em;
    /* margin-left: 10px; */
    color: #2b2b2b;
    background: transparent;
    border-left: solid 5px #FFC778;
    margin-top: 10px;
}

/*no3*/
.midashi03 {
    font-family: "Sawarabi Mincho";
    color: #FFC778;
    text-align: center;
    font-weight: 500;
    font-size: 2.4em;
}

/*no4*/
.midashi04 {
    border-bottom: double 5px #FFC778;
}

/*no5*/
.midashi05 {
    background: linear-gradient(transparent 70%, #FFC778 70%);
}

/*no6*/
.midashi06 {
    position: relative;
    display: inline-block;
    margin-bottom: 1em;
    font-family: "Sawarabi Mincho";
    font-weight: 500;
    font-size: 2.4em;

}

.midashi06:before {
    content: '';
    position: absolute;
    bottom: -15px;
    display: inline-block;
    width: 60px;
    height: 5px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    background-color: #FFC778;
    border-radius: 2px;
}

.midashi07 {
    position: relative;
    padding: 0.25em 0;
}

.midashi07:after {
    content: "";
    display: block;
    height: 4px;
    background: -webkit-linear-gradient(to right, rgb(230, 90, 90), transparent);
    background: linear-gradient(to right, #FFC778, transparent);
}


.midashi08 {
    position: relative;
    display: inline-block;
    padding: 0 50px;
    font-weight: 600;
}

.midashi08:before,
.midashi08:after {
    content: '';
    position: absolute;
    top: 50%;
    display: inline-block;
    width: 25px;
    height: 2px;
    background-color: #2b2b2b;
}

.midashi08:before {
    left: 0;
}

.midashi08:after {
    right: 0;
}

.midashi09 {
    background-image: url("../image/titlebg01.jpg");
    background-position: center center;
    background-repeat: no-repeat;
    height: 150px;
    color: white;


}

.midashi09txt {
    font-family: "Sawarabi Mincho";
    font-weight: bold;
}

.midashi09txt span {
    font-size: 16px;
}

/*.bigmt{
    margin-top: 200px;
}*/

@media screen and (max-width:767px) {
    .navbar-toggler {
        font-size: 14px;
        padding-left: 6px;
        padding-right: 6px;
    }

    .sono3 .navbar-toggler {
        width: 80px;
    }

    .ft01 {
        font-size: 14px;
        color: white;
    }

    .ft02 {
        font-size: 18px;
        color: white;
    }

    .ft03,
    h1 {
        font-size: 22px;
        font-weight: bolder;
        letter-spacing: 3px;
    }

    h2.h2title {
        font-size: 20px;
    }

    .h2smallhosoku {
        font-size: 20px;
    }

    .contxt {
        line-height: 1.6;
    }

    .mvrtxt01 {

        bottom: 90%;
        left: 0;
        width: 100%;
        font-size: 16px;
        height: auto;

    }

    .bigmt {
        margin-top: 100px;
    }
}


#page_top {
    width: 70px;
    height: 80px;
    position: fixed;
    right: 0;
    bottom: 30px;
    /*  opacity: 0.6;*/
}

#page_top a {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    text-decoration: none;
    /*    background-color: #ffffff;*/
    /* background-color: #003a59; */

}

/* 
#page_top a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 20px;
    color: #ffffff;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -20px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
} 



#page_top a::after {
    content: 'TOP';
    font-size: 12px;
    color: #ffffff;
    position: absolute;
    top: 30px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;

}
*/

section {
    width: 100%;
    height: 100vh;
    position: relative;
    /*overflow: hidden;*/
}

video {
    min-width: 100%;
    margin-top: 80px;
    /*  position: absolute;
  top: 0;
  left: 0;
  width: auto;
  height: auto;
  min-width: 100%;
  min-height: 100%;*/
    /*  background: url('../images/bg.png') no-repeat;
  background-size: cover;*/

    z-index: -1;
}


.relatop {}

.bg-white {
    background: rgba(255, 255, 255, .75) !important;
    /*  position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
  padding: 20px;*/
}


.topbgstatic {
    display: none;
}

@media screen and (max-width:991px) {
    .topbgmovie {
        display: none !important;
    }

    .topbgstatic {
        display: block;
    }
}

.toph1sub {
    font-size: 2em !important;
    line-height: 1.5em;
}

.dropdown {
    padding-top: 8px;
    font-size: 18px;
}

.dropdown a {
    color: #004BB1;
}

.dropdown a:hover {
    color: #A6A6A6;
}


.dropdown-menu {
    padding-left: 8px;
    padding-right: 8px;
}

.dropdown-menu li {
    padding-top: 5px;
    padding-bottom: 5px;
}

.nav-item {
    padding-left: 16px;
    padding-right: 16px;
}

@media screen and (max-width:991px) {
    .dropdown {
        text-align: right;
    }

    .dropdown-menu {
        border: none;
    }

    .dropdown-menu li {
        text-align: right;
    }

    .nav-item {
        padding-left: 8px;
        padding-right: 8px;
    }
}

.top_letter_space {
    letter-spacing: 3px;
}

.top_letter_space p {
    letter-spacing: 3px;
}

.fs_16_line_h {
    line-height: 28px;
}

.fs_12 {
    font-size: 12px !important;
}

.fs_14 {
    font-size: 14px !important;
}

.fs_16 {
    font-size: 16px !important;
}

.fs_18 {
    font-size: 18px !important;
}

.fs_20 {
    font-size: 20px !important;
}

.fs_22 {
    font-size: 22px !important;
}

.fs_24 {
    font-size: 24px !important;
}

.fs_26 {
    font-size: 26px !important;
}

.fs_28 {
    font-size: 28px !important;
}

.fs_30 {
    font-size: 30px !important;
}

.bold {
    font-weight: bold;
}

/*.bg_top{
	background:url("../images/top/bgtop_mv_pc.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size:cover;
}*/

.top_bk_con {
    background: url("../images/top/top_image02.jpg");
    background-position: right;
    background-repeat: no-repeat;
    background-size: cover;
}

.bg_company {
    background: url("../images/company/bgcompany_mv_pc.jpg");
    background-position: center bottom;
    background-repeat: no-repeat;
    background-size: cover;
}

.bg_business {
    background: url("../images/business/bgbusiness_mv_pc.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}



.bg_contact {
    background: url("../images/contact/bgcontact_mv_pc.jpg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
}


.bg_rec {
    background: url("../images/recruit/bgrecruit_mv_pc.jpg");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}

.bg_greeting {
    background: url("../images/company/corp_image01.jpg");
    background-position: center top;
    background-repeat: no-repeat;
    background-size: cover;
}

@media screen and (max-width:768px) {
    .bg_greeting {
        height: 500px;
    }
}

@media screen and (max-width:900px) {
    .top_bk_con {
        height: 500px;
    }
}

@media screen and (max-width:675px) {
    .bg_contact {
        background: url("../images/contact/contact_main_sp.jpg");
        background-position: center;
        background-repeat: no-repeat;
        background-size: cover;
    }
}

.bg_blue {
    background-color: #22abf4;
}

.bg_blue02 {
    background-color: #003a59;
}

.intabyu_p {
    font-size: 2rem !important;
}


.balloon01 {
    position: relative;
    display: inline-block;
    margin: 1.5em 10px 1.5em 10px;
    padding: 20px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    background: #b3e7f2;
    border-radius: 10px;
    width: 100%;
}

.balloon01:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -30px;
    margin-top: -15px;
    border: 15px solid transparent;
    border-right: 15px solid #b3e7f2;
}

.balloon02 {
    position: relative;
    display: inline-block;
    margin: 1.5em 10px 1.5em 10px;
    padding: 20px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 16px;
    background: #efb59d;
    border-radius: 10px;
    width: 100%;
}

.balloon02:before {
    content: "";
    position: absolute;
    top: 50%;
    left: -30px;
    margin-top: -15px;
    border: 15px solid transparent;
    border-right: 15px solid #efb59d;
}

.balloon03 {
    position: relative;
    display: inline-block;
    margin: 1.5em 10px 1.5em 10px;
    padding: 20px 10px;
    min-width: 120px;
    max-width: 100%;
    color: #555;
    font-size: 16px;
    background: #a3eda2;
    border-radius: 10px;
    width: 100%;
}

.balloon03:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 100%;
    margin-top: -15px;
    border: 15px solid transparent;
    border-left: 15px solid #a3eda2;
}

/*@media screen and (max-width:575px) {
	.balloon01 {
	  margin: auto;
	}
	.balloon01:before{
	  content: "";
	  position: absolute;
	  top: -24px;
	  left: 50%;
	  margin-left: -15px;
	  border: 12px solid transparent;
	  border-bottom: 12px solid #FFF;
	  z-index: 2;
	}
	.balloon01:after{
	  content: "";
	  position: absolute;
	  top: -25px;
	  left: 50%;
	  margin-left: -17px;
	  border: 14px solid transparent;
	  border-bottom: 14px solid #b3e7f2;
	  z-index: 1;
		}
	
	.balloon02 {
	  margin: auto;
	}
	.balloon02:before{
	  content: "";
	  position: absolute;
	  top: -24px;
	  left: 50%;
	  margin-left: -15px;
	  border: 12px solid transparent;
	  border-bottom: 12px solid #FFF;
	  z-index: 2;
	}
	.balloon02:after{
	  content: "";
	  position: absolute;
	  top: -25px;
	  left: 50%;
	  margin-left: -17px;
	  border: 14px solid transparent;
	  border-bottom: 14px solid #efb59d;
	  z-index: 1;
		}
	
	.balloon03 {
	  margin: auto;
	}
	.balloon03:before{
	  content: "";
	  position: absolute;
	  top: -24px;
	  left: 50%;
	  margin-left: -15px;
	  border: 12px solid transparent;
	  border-bottom: 12px solid #FFF;
	  z-index: 2;
	}
	.balloon03:after{
	  content: "";
	  position: absolute;
	  top: -25px;
	  left: 50%;
	  margin-left: -17px;
	  border: 14px solid transparent;
	  border-bottom: 14px solid #a3eda2;
	  z-index: 1;
		}
}*/

@media screen and (max-width:575px) {
    .intabyu_p {
        font-size: 1.4rem !important;
    }
}


.news_01 {
    font-weight: bold;
    font-size: 12px;
    color: #DBDBDB;
    background-color: #00299A;
    border: solid 1px #122262;
    margin: 5px;
    padding: 5px;
    border-radius: 5px;
}

.btn-primary {
    color: white;
    background-color: #003a59;
    border: solid 1px #003a59;
}

.btn-primary:hover {
    background-color: #00253A;
    border: solid 1px #00253A;
}

.news_dl dt {
    float: left;
    padding-top: 5px;
    margin-top: 5px;
    /*padding-bottom: 10px*/
}

.news_dl dd {
    margin-left: 90px;
    padding-top: 10px;
    padding-bottom: 10px;
    margin-top: 5px;
}

@media screen and (min-width: 767px) {
    .br-pc {
        display: block;
    }

    .br-sp {
        display: none;
    }

}

@media screen and (max-width: 767px) {
    .br-pc {
        display: none;
    }

    .br-sp {
        display: block;
    }

    .news_dl dd {
        line-height: 24px;
        margin-left: 0px;
    }

}

.news_bold {
    font-weight: bold;
    font-size: 18px;
}

.top_4_h {
    height: 220px;
}

.top_4_hh {
    height: 70px;
}

@media screen and (max-width: 575px) {
    .top_4_h {
        height: auto;
    }
}

.contact_text01 {
    font-size: 2rem;
}

@media screen and (max-width: 575px) {
    .contact_text01 {
        font-size: 1.5rem;
    }
}

.contact_border {
    border: solid 1px #FFFFFF;
}

.dropdown-menu {
    min-width: 15rem;
}

.tel {
    text-align: right;
}

.top_h {
    text-align: center;
    font-size: 22px;
    color: #000000;
    font-weight: 700;
}

@media screen and (max-width: 575px) {
    .top_h {
        font-size: 16px;
    }

    .h1cus {
        font-size: 20px;
    }
}

.biz_list {
    border: solid #3f5089 1px;
    border-radius: 10px;
    background-color: #D2DDEE;
}

.biz_list li {
    margin-top: 5px;
    margin-bottom: 5px;
}

.h2_03 {
    font-size: 24px;
}

.sousyoku_top {
    border-bottom: #000000 solid 2px;
    border-top: solid #000000 2px;
}


.figure01 img {
    opacity: 1;
    -webkit-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
}

.figure01:hover img {
    opacity: .5;
}

.border_bottom {
    border-bottom: solid 1px;
}

.bg-index {

    background-color: #0071BC;
    background-image: url(../images/top/vision_img.jpg);
    background-position: center center;
    background-size: auto;

}