@charset "utf-8";
/* http://meyerweb.com/eric/tools/css/reset/
   v2.0 | 20110126
   License: none (public domain)
*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
 margin: 0;
 padding: 0;
 border: 0;
 font-size: 100%;
 font: inherit;
 vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
 display: block;
}
body {
 font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", Verdana, Meiryo, sans-serif;
 line-height: 1;
 letter-spacing: 1px;
 background-color: #219FD6;
 -webkit-text-size-adjust: 100%;
}
ol, ul, li {
 list-style: none;
}
.list-idt li{
 padding-left: 1em;
 text-indent: -1em;
}
blockquote, q {
 quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
 content: '';
 content: none;
}
table {
 border-collapse: collapse;
 border-spacing: 0;
}
img{
 width:100%;
 height:auto;
 vertical-align: bottom;
 font-size:0;
 line-height: 0;
}

/* -------------------------------------------------------
 style base
------------------------------------------------------- */
html {
 height: 100%;
 background-color: #fff;
}
body {
 width:100%;
 height: 100vh;
 color:#000;
 -webkit-overflow-scrolling: touch;
 position: relative;
}
*,
*:before,
*:after {
 -moz-box-sizing: border-box;
 -webkit-box-sizing: border-box;
 box-sizing: border-box;
}
a:link,
a:visited{
 color:#00aae7;
}
a:hover,
a:active{
 color:#00aae7;
 text-decoration: underline;
}
.sp{display: block;}
.pc{display: none;}
#container{
 width:100%;
 position: relative;
 padding-top:60px;
}
@media screen and (min-width: 768px) {
  .sp{display: none;}
  .pc{display: block;}
  #container{
   width:100%;
   position: relative;
   padding-top:110px;
  }
}


/* -------------------------------------------------------
 header
------------------------------------------------------- */
body.headbg{
 background:url(../image/head_bg_sp.jpg) no-repeat 0 0;
 background-size: 100% auto ;
}
header{
 width:100%;
 height:60px;
 position: fixed;
 top:0;left:0;
 z-index: 100;
}
#headlogo{
 width:240px;
 height:auto;
 position: absolute;
 top: 5px;left: 10px;
 z-index: 1001;
}
#headlogo a{
 display: block;
}
/*menu btn*/
#ocBtn{
 display: block;
 position: absolute;
 top: 10px;right: 10px;
 width: 40px;
 height:40px;
 cursor: pointer;
 z-index: 1002;
}
.menuSwitch,
.menuSwitch span {
 display: inline-block;
 transition: all .3s cubic-bezier(0.86, 0, 0.07, 1);
}
.menuSwitch {
 position: relative;
 width: 22px;
 height:18px;
 top:11px;left:9px;
}
.menuSwitch span {
 position: absolute;
 right: 0;
 width: 100%;
 height: 2px;
 background-color: #FFF;
 border-radius: 2px;
 box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.2);
}
.menuSwitch span:nth-of-type(1) {
 top: 0;
}
.menuSwitch span:nth-of-type(2) {
 top: 8px;
 width: 22px;
}
.menuSwitch span:nth-of-type(3) {
 bottom: 0;
}
.menuSwitch.active span:nth-of-type(1) {
 -webkit-transform: translateY(8px) rotate(-45deg);
 transform: translateY(8px) rotate(-45deg);
}
.menuSwitch.active span:nth-of-type(2) {
 opacity: 0;
}
.menuSwitch.active span:nth-of-type(3) {
 -webkit-transform: translateY(-8px) rotate(45deg);
 transform: translateY(-8px) rotate(45deg);
}
#headLink{
 display: none;
}
@media screen and (min-width: 768px) {
  body.headbg{
   min-width: 970px;
   background:url(../image/head_bg_pc.jpg) repeat-x center top;
   background-size: auto auto;
  }
  header{
   height:110px;
  }
  #headlogo{
   width:380px;
   top: 12px;left: 15px;
  }
  #ocBtn{
   top: 28px;right: 30px;
   width: 50px;
   height:50px;
  }
  .menuSwitch {
   position: relative;
   width: 44px;
   height:29px;
   top:11px;left:3px;
  }
  .menuSwitch span {
   height: 3px;
   border-radius: 3px;
  }
  .menuSwitch span:nth-of-type(2) {
   top: 13px;
   width: 44px;
  }
  .menuSwitch.active span:nth-of-type(1) {
   -webkit-transform: translateY(13px) rotate(-45deg);
   transform: translateY(13px) rotate(-45deg);
  }
  .menuSwitch.active span:nth-of-type(3) {
   -webkit-transform: translateY(-13px) rotate(45deg);
   transform: translateY(-13px) rotate(45deg);
  }
  #headLink{
   width:350px;
   display: table;
   position: absolute;
   top: 31px;right: 104px;
   z-index: 1001;
  }
  #headLink li{
   width:50%;
   display: table-cell;
   padding:0 1px;
   box-shadow: 2px 2px 4px 0px rgba(0,0,0,0.1);
  }
  #headLink li a {
   width:100%;
   display: inline-block;
   padding:12px 0;
   text-align: center;
   border:2px solid #fff;
   text-decoration: none;
   outline: none;
   z-index: 2;
   background-color: #fff;
   position: relative;
  }
  #headLink li a span{
   padding:0;
   font-size:13px;
   line-height: 1;
   letter-spacing: 0;
   font-family: 'M PLUS Rounded 1c', sans-serif;
   font-weight: 400;
  }
  #headLink li a::before,
  #headLink li a::after {
   position: absolute;
   z-index: -1;
   display: block;
   content: '';
   top: 0;
   width: 50%;
   height: 100%;
   background-color: #fff;
  }
  #headLink li a,
  #headLink li a::before,
  #headLink li a::after {
   transition: all .3s;
  }
  #headLink li a::before {
  right: 0;
  }
  #headLink li a::after {
  left: 0;
  }
  #headLink li a:hover {
   background-color: #00aae7;
   border:2px solid #fff;
  }
  #headLink li a:hover span{
   color:#fff;
  }
  #headLink li a:hover::before,
  #headLink li a:hover::after {
   width: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 870px) {
  #headLink{
   width:260px;
   top: 33px;right: 94px;
  }
  #headLink li:nth-of-type(1){
   width:45%;
  }
  #headLink li:nth-of-type(2){
   width:55%;
  }
}

/* -------------------------------------------------------
 menu
------------------------------------------------------- */
#menu{
 position: fixed;
 top: 0;
 width: 100%;
 height:100%;
 background-color: rgba(0,170,231,0.9);
 z-index: 1000;
}
.menuEff{
 visibility: hidden;
 opacity: 0.0;
 transform: scale(0.96);
 transition: 0.3s cubic-bezier(0.86, 0, 0.07, 1);
}
.openMenu{
 visibility: visible;
 transition: 0.5s cubic-bezier(0.86, 0, 0.07, 1);
 transform: scale(1);
 opacity: 1.0;
}
#menu a{
 display: block;
 padding:4.2vw 0;
 font-size: 5.2vw;
 color:#fff;
 line-height: 1;
 font-family: 'M PLUS Rounded 1c', sans-serif;
 font-weight: 400;
 text-decoration: none;
 text-align: center;
 border-bottom:2px solid #fff;
}
#naviTop{
 display: block;
 width:88%;
 margin:70px auto 0;
}
#naviList{
 width:88%;
 margin:0 auto;
}
#naviRec{
 width:88%;
 margin:6vw auto 0;
}
#naviRec a{
 display: block;
 padding:5vw 0;
 background-color: #fff;
 font-size: 5.2vw;
 color:#00aae7;
 line-height: 1;
 font-family: 'M PLUS Rounded 1c', sans-serif;
 font-weight: 700;
 text-decoration: none;
 text-align: center;
 border-bottom:none;
}
#naviRec a:after {
 content: '';
 display: inline-block;
 width: 4vw;
 height: 4vw;
 background: url(../image/icon_outside.svg) no-repeat 0 0;
 background-size: cover;
 margin-left: 2vw;
}
#top #naviTop a,
#onoff #naviList a:nth-of-type(1),
#favorite #naviList a:nth-of-type(2),
#voice #naviList a:nth-of-type(3),
#area #naviList a:nth-of-type(4){
 background-color: rgba(255,255,255,0.3);
 font-weight: 700;
}
#naviListPc{
 display: none;
}
@media screen and (min-width: 540px)  and (max-width: 767px) {
#menu a{
 display: block;
 padding:20px 0;
 font-size: 3.6vw;
}
#naviRec a{
 padding:20px 0;
 font-size: 3.6vw;
}
}
@media screen and (min-width: 768px) {
  #menu{
   background-color: rgba(255,255,255,0);
  }
  #naviTop,
  #naviRec,
  #naviList{
   display: none;
  }
  #naviListPc{
   width:100%;
   display: flex;
   flex-wrap: nowrap;
   background-color: rgba(255,255,255,0.8);
  }
  #naviListPc a{
   display: block;
   width:20%;
   height:100vh;
   padding:0;
   font-size: 0;
   border-bottom:none;
   position: relative;
   opacity: 0;
   transform:translateX(-200px);
   position: relative;
  }
  #naviListPc a img{
   width:98%;
   max-width:210px;
   position: absolute;
   top:50%;left:50%;
   transform:translateX(-50%) translateY(-50%);
   z-index: 5;
  }
  #naviListPc a:nth-of-type(1){
   background:url(../image/menu01.jpg) center center;
   background-size: cover;
  }
  #naviListPc a:nth-of-type(2){
   background:url(../image/menu02.jpg) center center;
   background-size: cover;
  }
  #naviListPc a:nth-of-type(3){
   background:url(../image/menu03.jpg) center center;
   background-size: cover;
  }
  #naviListPc a:nth-of-type(4){
   background:url(../image/menu04.jpg) center bottom;
   background-size: cover;
  }
  #naviListPc a:nth-of-type(5){
   background:url(../image/menu05.jpg) center bottom;
   background-size: cover;
  }
  #naviListPc a:after{
   content: '';
   display: block;
   width: 100%;
   height: 100%;
   background-color: #000;
   opacity: 0.3;
   position: absolute;
   left:0; top:0;
   transition: opacity .3s;
  }
  #naviListPc a:hover:after{
   content: '';
   display: block;
   width: 100%;
   height: 100%;
   background-color: #000;
   opacity: 0;
   position: absolute;
   left:0; top:0;
  }
  .openMenu #naviListPc a{
   transform:translateX(0px);
   opacity: 1;
  }
  .openMenu #naviListPc a:nth-of-type(1){
   transition:0.8s cubic-bezier(0.19,0.64,0.59,0.99) 0.2s;
  }
  .openMenu #naviListPc a:nth-of-type(2){
   transition:0.8s cubic-bezier(0.19,0.64,0.59,0.99) 0.35s;
  }
  .openMenu #naviListPc a:nth-of-type(3){
   transition:0.8s cubic-bezier(0.19,0.64,0.59,0.99) 0.5s;
  }
  .openMenu #naviListPc a:nth-of-type(4){
   transition:0.8s cubic-bezier(0.19,0.64,0.59,0.99) 0.65s;
  }
  .openMenu #naviListPc a:nth-of-type(5){
   transition:0.8s cubic-bezier(0.19,0.64,0.59,0.99) 0.8s;
  }
}


/* -------------------------------------------------------
 #titleArea
------------------------------------------------------- */
#titleArea{
 text-align: center;
}
#headImgSp{
 width:88vw;
 margin:6vw auto 0;
 display: flex;
 flex-wrap: nowrap;
 justify-content:space-between;
 position: relative;
}
#headImgSp li img{
 height:21vw;
 width: auto;
}
#headImgPc{
 display: none;
}
#titleImg{
 width:90vw;
 margin:5vw auto 0;
}
#titleArea h1{
 display: inline-block;
 padding:2.8vw 4vw;
 margin:5vw auto 0;
 color:#fff;
 font-size: 4vw;
 line-height: 1;
 font-family: 'M PLUS Rounded 1c', sans-serif;
 font-weight: 700;
 background:url(../image/bg_wave.png) center top;
 background-size: 80px 40px;
}
#titleArea p.copy{
 padding:8vw 0 0;
 font-size: 4.3vw;
 font-family: 'M PLUS Rounded 1c', sans-serif;
 font-weight: 700;
 color:#00aae7;
}
#titleArea p{
 font-size: 3.4vw;
 line-height: 1.6;
 letter-spacing: 0;
 padding:8vw 0 16vw;
}
#titleArea p.copy + p{
 padding:2vw 0 16vw;
}
@media screen and (min-width: 768px) {
  #headImgSp{
   display: none;
  }
  #titleArea{
   height:680px;
   overflow:hidden;
   position: relative;
  }
  #titleImg{
   width:630px ;
   margin:120px auto 0;
  }
  #titleArea h1{
   padding:18px 38px;
   margin:30px auto 0;
   font-size: 24px;
   background:url(../image/bg_wave.png) center top;
   background-size: auto auto;
  }
  #titleArea p{
   font-size: 16px;
   line-height: 2;
   padding:50px 0 0;
  }
  #titleArea p.copy{
   padding:60px 0 0;
   font-size: 30px;
   line-height: 1;
  }
  #titleArea p.copy + p {
   padding: 20px 0 0;
  }
  #headImgPc{
   display: block;
   width:1200px;
   height:680px;
   position: absolute;
   top:0;left:50%;
   transform: translateX(-50%);
       /*margin-left: -600px;*/
  }
  #headImgPc .img1{
   width:138px;
   position: absolute;
   top:100px;left:37px;
  }
  #headImgPc .img2{
   width:149px;
  position: absolute;
   top:280px;left:107px;
  }
  #headImgPc .img3{
   width:179px;
   position: absolute;
   top:465px;left:30px;
  }
  #headImgPc .img4{
   width:164px;
   position: absolute;
   top:75px;right:0;
  }
  #headImgPc .img5{
   width:226px;
   position: absolute;
   top:222px;right:53px;
  }
  #headImgPc .img6{
   width:211px;
   position: absolute;
   top:445px;right:-10px;
  }
}



/* -------------------------------------------------------
 footer
------------------------------------------------------- */
#footer{
 padding:14vw 5vw 18vw;
 background-color:#27404a;
}
#footer a{
 color: #fff;
 text-decoration: none;
}
#ftsns{
 margin: 0 auto 10vw;
}
#ftsns .ttl{
 width:20vw;
 height:auto;
 margin: 0 auto 5vw;
}
#ftsns ul{
  display: table;
 margin: 0 auto;
}
#ftsns ul li{
  display: table-cell;
  padding:0 20px;
}
#ftsns ul li a img{
   width:38px;
   height:36px;
}
#footNavTtl{
 width:60%;
 margin:0 auto;
 display:flex;
 flex-direction:column;
 position: relative;
}
#footNavTtl li{
 text-align:center;
}
#footNavTtl li.footlogo img{
 height:10vw;
 width:auto;
 margin:0 auto;
}
#footNavTtl li.company{
 padding-top:6vw;
 font-size:3.3vw;
}
#footNav00 {
 width: 86vw;
 margin: 15vw auto 0;
 position: relative;
 font-size: 5vw;
 font-family: 'M PLUS Rounded 1c', sans-serif;
 font-weight: 400;
 letter-spacing: 1px;
 text-align: center;
}
#footNav01{
 width:86vw;
 margin:14vw auto 0;
 display:flex;
 flex-wrap: wrap;
 justify-content: center;
 position: relative;
}
#footNav01 li{
 padding:2vw 3vw;
 font-size:3.6vw;
 font-family: 'M PLUS Rounded 1c', sans-serif;
 font-weight: 400;
}
#footNav02{
 width:86vw;
 margin:14vw auto 0;
 display:flex;
 flex-wrap: wrap;
 justify-content: center;
 position: relative;
}
#footNav02 li{
 padding:2vw 3vw;
 font-size:3.3vw;
}
.link:after{
 content: '';
 display: inline-block;
 width: 10px;
 height: 10px;
 background:url(../image/icon_link_w.png) no-repeat 0 0;
 background-size: 10px 10px;
 margin-left: 5px;
}
.line:after{
 content: '';
 display: inline-block;
 width: 40px;
 height: 1px;
 background: #93a0a5;
 position: absolute;
 left: calc(50% - 20px);
 top: -7vw;
}
.copyright{
 color:#fff;
 font-size:2.6vw;
 text-align: center;
 letter-spacing: 1px;
 padding-top:9vw;
}
.developed{
 color:#999;
 font-size:2vw;
 text-align: center;
 letter-spacing: 1px;
 padding-top:3vw;
}
.arrow {
  opacity:0;
  display: block;
  color: #fff;
  text-decoration:  none;
  position: fixed;
  bottom:5px;right:5px;
  height: 40px;
  width: 40px;
  border:1px solid #fff;
  background-color:#00aae7;
  z-index: 10;
  cursor: pointer;
  transition: 0.5s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.arrow::before {
  content:  '';
  width: 8px;
  height: 8px;
  display:  block;
  border-top: solid 1px;
  border-right: solid 1px;
  transform: rotate(-45deg);
  position:  absolute;
  top: 4px;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
}


.arrow:hover{
 background-color:#70cef2;
}

@media screen and (min-width: 768px) {
  #footer{
    min-width:970px;
    padding:94px 0 130px;
    position:relative;
  }
  #footer .inner{
    width:90%;
    max-width:1000px;
    margin:0 auto;
    position: relative;
  }
  #footer a,
  #footer a span{
    transition: all .3s;
  }
  #footer a:hover,
  #footer a span:hover{
    opacity: .7;
  }
  .line:after{
    content: '';
    display: inline-block;
    width: 80px;
    height: 1px;
    background: #93a0a5;
    position: absolute;
    left: 0;
    top: -40px;
  }
  #ftsns{
   width:320px;
   margin: 0;
   position: absolute;
   top:0;right:0;
   display:flex;
   flex-wrap: wrap;
   justify-content: space-between;
   align-items: center;
   z-index: 10;
  }
  #ftsns .ttl{
   width:68px;
   height:auto;
   margin: 0;
  }
  #ftsns ul{
   width:220px;
   display: table;
   margin: 0;
  }
  #ftsns ul li{
    display: table-cell;
    padding:0 20px;
  }
  #ftsns ul li a{
   display: block;
  }
  #ftsns ul li a img{
   width:38px;
   height:36px;
  }
  #footNavTtl{
    width:100%;
    margin:0;
    display:flex;
    flex-direction:row;
    flex-wrap: nowrap;
    justify-content:flex-start;
    align-items:center;
    position: relative;
  }
  #footNavTtl li{
    text-align:left;
  }
  #footNavTtl li.footlogo img{
    width:294px;
    height:auto;
    margin:0;
  }
  #footNavTtl li.company{
    padding:0 0 0 60px;
    font-size: 18px;
  }
  #footNav00{
    width: 100%;
    margin: 70px 0 0 0;
    font-size:24px;
    text-align: left;
    position: relative;
  }
  #footNav00.line:after{
    content: none;
  }
  #footNav01{
    width:100%;
    margin:78px 0 0;
    display:flex;
    flex-wrap: wrap;
    justify-content: start;
    position: relative;
  }
  #footNav01 li{
    padding:0 20px 0 0;
    font-size:15.6px;
  }
  #footNav02{
    width:100%;
    margin:78px 0 0;
    display:flex;
    flex-wrap: wrap;
    justify-content: start;
    position: relative;
  }
  #footNav02 li{
    padding:0 30px 0 0;
    font-size:14px;
  }
  .copyright{
    padding:0;
    margin:78px 0 0;
    font-size:12px;
    text-align: left;
    position:relative;
  }
  .developed{
    padding-top:12px;
    font-size:10px;
    text-align: left;
  }
  .arrow {
    bottom:20px;right:20px;
    height: 60px;
    width: 60px;
  }
}


/* -------------------------------------------------------
 parts - recruit
------------------------------------------------------- */
#recruit{
 padding:18vw 3vw 15vw;
 background:url(../image/bg_recruit.jpg) no-repeat 20% top;
 background-size: cover;
 color:#fff;
 text-align:center;
 position: relative;
}
#recruit .pen{
 position: absolute;
 top:0;right:3vw;
 width:25vw;
}
#recruit h2{
 font-size:6vw;
 line-height: 1.4;
 font-family: 'M PLUS Rounded 1c', sans-serif;
 font-weight: 700;
}
#recruit h2:before{
 content: '';
 display: block;
 width: 38vw;
 padding:12% 0 0;
 height: auto;
 margin:0 auto;
 background:url(../image/icon_welcome_sp.png) no-repeat 0 0;
 background-size: 100% auto;
}
#recruit p{
 padding-top:3vw;
 font-size:3.3vw;
 line-height:1.7;
}
#recruit .btn{
 width:76vw;
 margin:4vw auto 2vw;
 position: relative;
}
#recruit .btn:before{
 content: '';
 display: block;
 width: 12vw;
 padding:15% 0 0;
 height: auto;
 background:url(../image/icon_shine_l.png) no-repeat 0 0;
 background-size: 100% auto;
 position: absolute;
 top:3vw;left:-12vw;
}
#recruit .btn:after{
 content: '';
 display: block;
 width: 11vw;
 padding:15% 0 0;
 height: auto;
 background:url(../image/icon_shine_r.png) no-repeat 0 0;
 background-size: 100% auto;
 position: absolute;
 top:4vw;right:-12vw;
}
#recruit .btn a{
 display: block;
 padding:5vw 0;
 background-color: #fff;
}
#recruit .btn span{
 width:100%;
 display: inline-block;
 color:#074787;
 font-size:5vw;
 font-family: 'M PLUS Rounded 1c', sans-serif;
 font-weight: 700;
 position: relative;
}
#recruit .btn span:after{
 content: '';
 display: inline-block;
 width: 4vw;
 height: 4vw;
 background:url(../image/icon_outside.svg) no-repeat 0 0;
 background-size: cover;
 margin-left: 2vw;
}
@media screen and (min-width: 768px) {
  #recruit{
   min-width: 970px;
   padding:140px 0 90px;
   background-position: center top;
  }
  #recruit .pen{
   top:0;right:50%;
   width:187px;
   transform:translateX(430px);
  }
  #recruit h2{
    display: inline-block;
   font-size:36px;
   position: relative;
  }
  #recruit h2:before{
   content: '';
   display: block;
   width: 226px;
   height:80px;
   padding:0;
   position: absolute;
   top:-65px;left:-115px;
   background:url(../image/icon_welcome_pc.png) no-repeat 0 0;
   background-size: 100% auto;
  }
  #recruit p{
   padding-top:26px;
   font-size:16px;
   line-height: 1.8;
  }
  #recruit .btn{
   width:430px;
   margin:30px auto 0;
   position: relative;
  }
  #recruit .btn:before{
   content: '';
   display: block;
   width: 86px;
   height:67px;
   padding:0;
   background:url(../image/icon_shine_l.png) no-repeat 0 0;
   background-size: 100% auto;
   position: absolute;
   top:17px;left:-106px;
  }
  #recruit .btn:after{
   content: '';
   display: block;
   width: 86px;
   height:62px;
   padding:0;
   background:url(../image/icon_shine_r.png) no-repeat 0 0;
   background-size: 100% auto;
   position: absolute;
   top:18px;right:-110px;
  }
  #recruit .btn a {
   width:430px;
   display: inline-block;
   padding:32px 0;
   text-align: center;
   border:3px solid #fff;
   text-decoration: none;
   outline: none;
   z-index: 2;
   background-color: #fff;
   position: relative;
  }
  #recruit .btn a span{
   padding:0;
   font-size:28px;
   line-height: 1;
  }
  #recruit .btn span:after{
   width: 22px;
   height: 22px;
   margin-left: 12px;
  }
  #recruit .btn a::before,
  #recruit .btn a::after {
   position: absolute;
   z-index: -1;
   display: block;
   content: '';
   top: 0;
   width: 50%;
   height: 100%;
   background-color: #fff;
  }
  #recruit .btn a,
  #recruit .btn a::before,
  #recruit .btn a::after {
   transition: all .3s;
  }
  #recruit .btn a::before {
  right: 0;
  }
  #recruit .btn a::after {
  left: 0;
  }
  #recruit .btn a:hover {
   background-color: #00aae7;
   border:3px solid #fff;
  }
  #recruit .btn a:hover span{
   color:#fff;
  }
  #recruit .btn a:hover::before,
  #recruit .btn a:hover::after {
   width: 0;
  }
}


.anm{
 /*transition: .6s ease-in-out;*/
 transition: .8s cubic-bezier(0.215, 0.61, 0.355, 1);
 transform:translateY(50px);
 opacity: 0;
}
.isAnimate{
 transform:translateY(0px);
 opacity: 1;
}
@media screen and (min-width: 768px) {
  .d2{
   transition-delay:.2s;
  }
  .d3{
   transition-delay:.3s;
  }
  .d4{
   transition-delay:.4s;
  }
  .d5{
   transition-delay:.5s;
  } 
}


#wave{
  position: fixed;
  width: 100%;
  height:100%;
  opacity: 0;
  transition: 0.5s cubic-bezier(0.645, 0.045, 0.355, 1);
}
#wave.active{
  opacity: 1; 
}

#wave>img{
    display: block;
    margin-top: 50vh;
    transform: translateY(-50%);
}

#wave>video{
  display: none;
}


#wave video{
  width: 100%;
  position: absolute;
  top: 50%;
  transform: translate(0,-50%);
}
#wave>span{
  position: fixed;
  top: 0;
  width: 100%;
  height:100%;
  background-image: url(../image/wavedot.png );
  background-repeat: repeat;
}
#menuGround{
  background:url(../image/menumat.png);
  height: 70px;
  background-size: 100% 70px;
  opacity: 0;
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
header.move>#menuGround{
  opacity: 0.5;
  transition: 0.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}

@media screen and (min-width: 768px) {
  #menuGround{
    background:url(../image/menumat.png);
    height: 112px;
    background-size: 100% 112px;
    opacity: 0;
    transition: 0.5s cubic-bezier(0.77, 0, 0.175, 1);
  }
}

#flowOver{
  width: 100%;
  height: 100%;
  position: fixed;
  z-index: 10000;
  pointer-events: none;
  overflow: hidden;
}
#flowOver.over{
  pointer-events:auto;
}
#namiWrap{
  position: relative;
  top: -10%;
}
#nami{
  position: relative;
  /*top: -10%;*/
  width: 120%;
}
#nami>img{
  /*position: relative;*/
  display: block;
  top: 100%;
  width: 100%;
  animation: waveloop 0.2s linear infinite;
}
@keyframes waveloop {
    from {   margin-left:0%;    } 
    to {     margin-left:-11%; }
}
#obi{
  position: relative;
  display: block;
  width: 100%;
  height: 1200px;
  margin-top: -1px;
  background:#219FD6;
}


@media screen and (min-width: 768px) {
#scrline{
  width:9px;
  height:150px;
  position: fixed;
  left: 50px;
  bottom: 50px;
  background: url(../image/scroll.png) no-repeat 0 0;
}
.scrollmask{
  width:2px;
  height:85px;
  position: absolute;
  left: 4px;
  bottom: 0;
  overflow: hidden;
}
.scrollline {
  position: absolute;
  display: inline-block;
  width: 2px;
  height: 85px;
  border-left: 2px solid #ffffff;
  top: -85px;
  left: 0;
  animation: scroll-line 3s infinite;
  transition: all cubic-bezier(0.445, 0.05, 0.55, 0.95);
 animation-delay: -1.5s
}

/*wave 切り替え*/

#wave{
  opacity: 0;

}
#wave.active{
  opacity: 1; 
}

#wave>video{
  display: block;
}
#wave>img{
  display: none;
}

}
@keyframes scroll-line{
  0%{
    transform:translate3d(0, 0, 0)
  }
  100%{
    transform:translate3d(0, 170px, 0)
  }
}


html.nScrl {
  overflow: hidden;
}

