#params {
display: none;
top: 20px;
left: 20px;
position: absolute;
opacity: 0.9;
}
#blur {
position: absolute;
top: 50%;
left: 50%;
width: 600px;
height: 300px;
-webkit-transform: translateX(-50%) translateY(-50%);
      transform: translateX(-50%) translateY(-50%);
background: rgba(14,81,145,0.8);
-webkit-filter: blur(40px);
      filter: blur(40px);
}
#container {
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translateX(-50%) translateY(-50%);
      transform: translateX(-50%) translateY(-50%);
}

/*-------------------------------------------------------------fv*/
#fv{
width: 100%;
height: 100vh;
max-height: 800px;
box-sizing: border-box;
position: relative;
overflow: hidden;
}
#fv:after {
content: "";
position: absolute;
bottom: 0;
left: 0;
right: 0;
margin: auto;
z-index: -3;
width: 100%;
height: 100%;
background-image: url(images/movie_A.png);
background-position: center;
background-repeat: no-repeat;
background-size: cover;
}
.txt_move{
width: 0;
position: absolute;
left: 5%;
top:37vh;
display: block;
color: #fff;
overflow: hidden;
animation-name:txt_mask;
animation-duration: 0.5s;
animation-delay: 0.5s;
animation-timing-function: ease-out;
animation-fill-mode: forwards;
}
.txt_move p{
width: 980px;
font-size: 40px;
font-weight: bold;
font-family: "HiraginoSans-W1";
text-shadow: 1px 3px 5px #0000004f;
}
_:-ms-lang(x)::-ms-backdrop, .txt_move p,.move_child p {
font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}
_::-webkit-full-page-media, _:future, :root .txt_move p,.move_child p{
font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", メイリオ, Meiryo, sans-serif;
}

.move_child{
position: absolute;
top: 40vh;
left: 5%;
color: #fff;
animation-duration: 1s;
animation-delay: 0.7s;
text-shadow: 1px 3px 4px #000000ad;
}
.move_child p{
margin-top: 40px;
width: 980px;
font-size: 20px;
line-height: 2em;
letter-spacing: 4px;
font-family: "ヒラギノ角ゴ Pro";
}
#can_field {
width: 100%;
height: 100%;
position: absolute;
z-index: -1;
top: 0px;
left: 0;
overflow: hidden;
opacity: 0.5;
}
canvas{width: 100%!important;height: 100%!important;}

video {
position: absolute;
top: 0;bottom: 0;left: 0;right: 0;
margin: auto;
z-index: -2;
transform: scale(1.2);
width: 100vw;
height: auto;
}
@media screen and (min-width:1530px){
video{
width: 100%;
height: auto;
bottom:inherit;
}
}

/*-------------------------------------------------------------news*/
.news {
position: relative;
margin: -15vh auto 0 auto;
box-shadow: 0px 3px 5px 2px rgba(0,0,0,0.17);
animation-delay: 1s;
}
.news:before {
content: "";
z-index: -1;
position: absolute;
width: 980px;
height: 120px;
background-color: #fff;
display: block;
top: 40px;
}
.news ul{margin-bottom: 0;margin-top: 0;}
.news ul:before {
content: '';
background-color: #fff;
opacity: 0.5;
filter: blur(8px);
position: absolute;
top: -8px;
left: -8px;
right: -8px;
bottom: -8px;
z-index: -1;
}
.news ul li a {background-color: transparent;color: #fff;}

/*-------------------------------------------------------------service*/
#top_service {
margin-top: 80px;
box-sizing: border-box;
padding: 70px 0 105px 0;
background-image: url("images/top_service.png");
background-size: cover;
background-repeat: no-repeat;
background-position: bottom center;
background-color: #949aa0;
}
#en #top_service {margin-top: 0;}
    #top_service div.contents_ttl,#top_service div.contents_ttl h2 span{color: #fff;}
        #top_service div.contents_ttl p.no{border-color: #fff;}
        #top_service div.contents_ttl h2 span:before{background-color: #fff;}
.top_service_area {
width: 93%;
max-width: 980px;
height: auto;
margin: 70px auto 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
.top_service_area .btn {margin-top: 25px;}
.top_service_contents{
background-color: #fff;
box-sizing: border-box;
text-align: center;
width: 300px;
height: auto;
overflow: hidden;
margin-right: 25px;
margin-bottom: 40px;
box-shadow: 0px 3px 5px 2px rgba(0,0,0,0.17);
transition: 0.3s;
    opacity: 0;
    animation-name:fade_in;
    animation-duration: 1s;
    animation-delay: 1s;
    animation-timing-function: ease-out;
    animation-fill-mode: forwards;
}
.top_service_contents:hover{opacity: 0.8;}
.top_service_contents:nth-child(3){margin-right: 0;}
.top_service_contents:last-child{margin-right: 0;pointer-events: none;}
    .top_service_contents div.imgbox{
    width:100%;
    height: px;
    box-sizing: border-box;
    padding: 40px 0;
    }
    .top_service_contents div.img{
    height: 220px;
    width: 300px;
    box-sizing: border-box;
    position: relative;
    }
        .top_service_contents div.img img{
        height: auto;
        width: 90%;
        position: absolute;
        top: 15px;bottom: 0px;left: 0;right: 0;
        margin: auto;
        }
    .top_service_contents dl{
    width: 100%;
    height: 40px;
    line-height: 40px;
    display: flex;
    justify-content: center;
    color: #fff;
    margin-bottom: 0px;
    }
        .top_service_contents dl dt{
        width: 50%;
        height: 100%;
        background-color:#176192;
        font-size: 12px;
        }
        .top_service_contents dl dd{
        width: 50%;
        height: auto;
        overflow: hidden;
        background-color:#187fc4;
        font-size: 12px;
        }
        .top_service_contents:nth-of-type(4) dd,.top_service_contents:last-of-type dt {width: 100%;}
        .top_service_contents:last-of-type dd,.top_service_contents:nth-of-type(2) dd {background-color: #053250;}
        #en .top_service_contents:first-of-type dl dt,#en .top_service_contents:nth-of-type(3) dl dt {width: 30%;}
        #en .top_service_contents:first-of-type dl dd,#en .top_service_contents:nth-of-type(3) dl dd {width: 70%;}
    .top_service_contents div.txt {
    width: 100%;
    height: 100%;
    box-sizing: border-box;
    padding: 30px;
    background-color: #F2FAFF;
    }
        .top_service_contents div.txt h2 {
        font-size: 18px;
        margin-bottom: 20px;
        height: auto;
        min-height: 55px;
        line-height: 70px;
        }
            .top_service_contents:first-child div.txt h2, .top_service_contents:nth-child(3) div.txt h2 {
            line-height: normal;}
                .top_service_contents div.txt h2 span {display: block;font-size: 12px;}
            #en .top_service_contents:first-child div.txt h2 {line-height: 1.3em;}
            #en .top_service_contents:nth-child(3) div.txt h2 {line-height: 70px;}

.top_service_contents div.txt p {
        font-size: 12px;
        color: #187FC4;
        line-height: 2em;
        text-align: left;
        }
        
/*-------------------------------------------------------------case*/
#case{margin-bottom: 100px;box-sizing: border-box;padding: 100px 0;}
#en #case {margin-bottom: 0;}
.case_contents{max-height: 980px!important;}
.select_content.active{display:flex!important;flex-wrap: wrap;}
.catlist_box{margin-bottom: 40px;}
.case.select_area{
display: block;
width: 90%;
max-width: 980px;
height: auto;
margin: 70px auto 0 auto;
}
.case.select_area ul {
display: flex;
flex-wrap: wrap;
-webkit-flex-wrap: wrap;
-ms-flex-flow: row wrap;
text-align: center;
width: 93%;
margin-left: 7%;
font-size: 0;
}
    .case.select_area ul li.tab_select {
    background-color: #000;
    width: 25%;
    font-size: 10px;
    line-height: 40px;
    box-sizing: border-box;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    }
.case.select_area ul li.all{background-color: #187FC4;}
    .case.select_area ul li.current-cat,.case.select_area ul li.all{background-color: #187FC4;}
    .case.select_area ul li a {
        color: #fff;
        display: block;
        height: 40px;
        line-height: 40px;
        box-sizing: border-box;
        padding: 0 20px;
        }
        .case.select_area ul li a.active {
        background-color: #187FC4;
        color: #fff;
        pointer-events: none;
        }
        .case.select_area ul li a.active:hover{opacity: 1;}

/*-------------------------------------------------------------recruit*/
#top_recruit {
width: 100%;
max-width: 1050px;
margin: 0 auto 90px auto;
display: block;
height: auto;
overflow: hidden;
}
#top_recruit div.inner{
width: 90%;
max-width: 980px;
height: 500px;
float: right;
margin-top: 80px;
position: relative;
background-color: #D7E6F1;
}
    #top_recruit div img{
    display: inline-block;
    position: absolute;
    left:-240px;
    top: -80px;
    box-shadow: 0px 3px 5px 2px rgba(0,0,0,0.17);
    z-index: 0;
    }
        #top_recruit div div.box {
        width: auto;
        height: 336px;
        background-color: #fff;
        box-sizing: border-box;
        padding: 50px;
        box-shadow: 0px 3px 5px 2px rgba(0,0,0,0.17);
        position: absolute;
        right: 80px;
        top: 80px;
        z-index: 1;
        }
            #top_recruit div div.box div.contents_ttl{width: 100%;max-width: none;}
                #top_recruit div div.box div.contents_ttl h2 {
                font-size: 24px;
                font-weight: bold;
                float: left;
                margin: 0 ;
                width: 85%;
                }
                    #top_recruit div div.box div.contents_ttl h2 span:before{margin: 5px 10px;width: 40px;}
                #top_recruit div div.box p.txt {
                display: block;
                width: 100%;
                height: auto;
                overflow: hidden;
                margin: 30px 0 50px 0;
                font-size: 14px;
                }



/*--
    add 2021.10
----------------------*/

/*-------------------------------------------------------------news*/

#en .news {
    margin: -12vh auto 0;
}
#en .news:before {
    height: 100%;
    top: 0;
}


/*-------------------------------------------------------------responsive*/
@media screen and (max-width:980px){
#fv video {height: 100%;width: auto;}
}
@media screen and (max-width:860px){
#fv {height: 512px;}
#fv:after{background-image: none!important;}
    #fv p,.top_news,#top_recruit div.inner{font-size: 7vw;}
    #fv p span {font-size: 4vw;margin-top: 20px;letter-spacing: normal;}
    video {width: 100%;top: 20px;bottom: inherit;}
    

.txt_move{
top: 300px;
left: inherit;
width: 100%;
padding: 0 5vw;
box-sizing: border-box;
}
    #fv .txt_move p {width: 100%;font-size: 3.8vw;}
.move_child {top: 20vh;}
.move_child p {font-size: 2vw!important;top: 20vh;letter-spacing: 2px;}
#en .move_child p{width: 90%;}

.news {margin: -10vh auto 0 auto;}

.top_service_area{display: block;}
.top_service_contents {display: block;margin: 0px auto 40px auto!important;}

#top_recruit div.inner {
height: auto;
float: none;
margin: 0 auto;
background-color: transparent;
}
#top_recruit div img {
box-shadow: none;
position: static;
width: 100%;
margin-bottom: -8px;
}
#top_recruit div div.box {
position: static;
width: 100%;
padding: 40px 0;
height: auto;
box-shadow: none;
text-align: center;
}
#top_recruit div div.box div.contents_ttl h2 {width: 80%;}
#top_recruit div div.box p.txt {margin: 30px 0;text-align: left;}

#case {padding-bottom: 25px;}



}
@media screen and (max-width:480px) {
#fv {height: 40vh;}
.txt_move {top:17.5vh;}
    #en #fv .txt_move p {font-size: 3vw;}
.move_child{top: 15vh;}
.news {margin: -30px auto 0 auto;}
.news ul:before {opacity: 1;filter: none;background-color: #555;}

.case.select_area ul {display: block;width: 100%;margin-left: 0;}
.case.select_area ul li.tab_select {width: 100%;}
.cases_wrapper.sp_layout .case_img {width: 100%;margin-bottom: 0;}
.cases_wrapper.sp_layout .case_img img {left: 0;}

}