@charset "utf-8";
/* CSS Document */




/*----- header ----- */
header{
    position: relative;
    min-height: 120px;
}
header h1{
    max-width: 189px;
    position: absolute;
    left: 2%;
    top: 35px;
    z-index: 50;
}
header nav{
    position: absolute;
    top: 52px;
    right: 2%;
    width: 100%;
    text-align: right;
}
header nav li{
    display: inline-block;
    margin: 0 3%;
}
header nav li a{
    font-family: 'Raleway', sans-serif;
    color: #000000;
    font-size: 1.1rem;
    font-weight: 500;
    letter-spacing: .18em;
    padding-bottom: 38px;
      position: relative;
      display: inline-block;
}
header nav li a::after {
  position: absolute;
  bottom: 2px;
  left: 0;
  content: '';
  width: 100%;
  height: 5px;
  background: #0082c9;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}
header nav li a:hover::after {
  bottom: -4px;
  opacity: 1;
  visibility: visible;
}

/*----- footer ----- */
.f_inn{
    max-width: 1280px;
    margin-left: auto;
    margin-right: auto;
    padding: 60px 0;
    position: relative;
}
.f_inn h3{
    max-width: 140px;
    display: inline-block;
}
.f_inn .menu{
    width: 79%;
    font-size: 0;
    display: inline-block;
    vertical-align: top;
    margin: 8px 0 0 0;
}
.f_inn .menu li {
    display: inline-block;
    margin: 0 2.3%;
}
.f_inn .menu li a{
    font-family: 'Raleway', sans-serif;
    color: #0082c9;
    font-size: 1.1rem;
    letter-spacing: .15rem;
}
.f_inn .menu li a:hover{
    color:#65A9D0;
    transition: .3s;
}
.f_inn .sns{
    width: 120px;
    display: inline-block;
}
.f_inn .sns li{
    width: 35px;
    display: inline-block;
    margin: 0 5%;
}
footer{
    background: #fff;
}
footer .copy{
    background: #0082c9;
    color: #fff;
    font-size: 1.0rem;
    padding: 15px 0;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .15rem;
}



/*----- 共通パーツ ----- */
body{
    text-align: center;
}
img {
  width: 100%;
  height: auto;
}
article{
    background: #fff;
    /*padding-top: 10px;*/
}
.bg_blue{
    background: #cdf2ff;
}
.bg_skyblue{
    background: #f0faff;
}
.pankuzu {
    border-top: solid 1px #eeeeee;
    border-bottom: solid 1px #eeeeee;
}
.pankuzu ul{
    max-width: 1300px;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
}
.pankuzu ul li{
    font-family: 'Raleway', sans-serif;
    letter-spacing: .10em;
    font-size: .9rem;
    color: #9c9c9c;
    display: inline-block;
    padding: 15px 0;
    background: url("../images/right-arrow.gif") no-repeat 92% center;
    padding-right: 20px;
}
.pankuzu ul li:last-child{
    background: none;
}
.pankuzu ul li a{
    font-family: 'Raleway', sans-serif;
    letter-spacing: .10em;
    font-size: .9rem;
    color: #9c9c9c;
}
.under_line{
    border-bottom: solid 1px #eeeeee;
}


/* --------------------
	   index.html
--------------------- */
.main_vis nav li a{
    color: #fff;
}
.main_vis nav li a::after {
 display: none;
}
.main_vis nav li a:hover::after {
  bottom: -4px;
  opacity: 1;
  visibility: visible;
}
.main_vis{
    /*background: url("../images/index/main.png") no-repeat center center;*/
    min-height: 900px;
    position: relative;
    background-size: cover;
    background-attachment: fixed;
    height: 100vh;
    background-color: rgba(40,156,158,0.3);
}
.main_vis video {
     position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    width: auto;
    height: auto;
    z-index: -11;
}
.main_vis h2{
    width: 617px;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: 240px;
}
.main_vis h3{
    font-size: 4.0rem;
    font-weight: 700;
    font-family: 'Raleway', sans-serif;
    color: #fff;
    letter-spacing: .10em;
    position: absolute;
    top: 500px;
    left: 0;
    right: 0;
}
.main_vis h4{
    width: 188px;
    position: absolute;
    margin: 0 auto;
    left: 0;
    right: 0;
    top: 820px;
}
.top_01{
    margin: 0px auto 100px auto;
    max-width: 1900px;
    position: relative;
    overflow:hidden;
    padding-top: 100px;
}
.top_01_left{
    background:url("../images/bg01.png") no-repeat left 145px / 50%;
    margin: 100px auto　0 auto;
    position: relative;
    z-index: 1;    
}
.top_01_right{
    background:url("../images/index/ph01.png") no-repeat right 0 / 50%;
    position: absolute;
    height: 400px;
    right: 0;
    top: 100px;
    width: 100%;
}
.top_01 .top_01_inner{
    width: 80%;
    max-width: 1400px;
    margin-left:auto;
    margin-right:auto;
    text-align: left;
    padding: 60px 0 30px 0;
}
.top_01 h2{
    font-size: 4.0rem;
    font-weight: 800;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .10em;
    color: #0082c9;
    margin: 0 0 40px 0;
    background: url("../images/under_line.png") no-repeat 0 bottom;
}
.top_01 h2 span{
    color: #000;
    display: block;
    left: 1.0em;
    padding-bottom: 20px;
}
.top_01 p{
    font-size: 1.3rem;
    line-height: 2.2em;
}
.top_01 h3 a{
    max-width: 600px;
    background: #fff;
    display: block;
    color: #00a8ff;
    font-size: 1.3rem;
    border: solid 1px #00a8ff;
    text-align: center;
    padding: 5px 0;
    margin: 3% 0 10px 0;
    transition:all .5s ease;
    position: relative;
}
.top_01 h3 a:hover{
    background: #00a8ff;
    color: #fff;
}
.top_02 h2{
    font-size: 4.0rem;
    font-weight: 800;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .10em;
    color: #0082c9;
    margin: 0 0 40px 0;
    background: url("../images/under_line.png") no-repeat center bottom;
}
.top_02 h3{
    font-size: 1.3rem;
    line-height: 2.2em;
    margin-bottom: 30px;
}
.top_02 ul{
    max-width: 1200px;
    padding: 80px 0 20px 0;
    margin-left: auto;
    margin-right: auto;
}
.top_02 ul li{
    max-width: 562px;
    background: #fff;
    display: inline-block;
    vertical-align: top;
    margin-bottom: 40px;
    padding-bottom: 30px;
    overflow: hidden;	/*拡大時にはみ出た部分を隠す*/
}
.top_02 ul li:nth-child(2n){
    margin-left: 72px;
}
.top_02 ul li figure {
  position: relative;
  overflow: hidden;
    margin: 0;
}
.top_02 ul li img{
    display: block;
	transition-duration: 0.3s;
}
.top_02 ul li  figure:hover img{
	transform: scale(1.2);
	transition-duration: 0.3s;    
}
.top_02 ul li figcaption {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.6);
  -webkit-transition: .3s;
  transition: .3s;
  opacity: 0;
    padding: 80px 50px 20px 50px;
}
.top_02 ul li figcaption p{
    color: #fff;
    text-align: left;
  position: absolute;
    width: 86%;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}
.top_02 ul li figure:hover figcaption {
  opacity: 1;
}



.top_02 ul li h4{
    font-size: 1.6rem;
    font-weight: 800;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .1em;
    color: #559dd2;
    margin: 20px 0 10px 0;
}
.top_02 ul li h4 span{
    display: block;
    color: #000000;
    letter-spacing: 0;
    font-size: 1.1rem;
}
.top_02 ul li p{
    font-size: 1.1rem;
}
.top_02 .btn_more{
    padding-bottom: 80px;
}
.top_02 .btn_more a{
    background: #34b2ff;
    border: solid 1px #34b2ff;
    font-size: 1.6rem;
    font-weight: 800;
    font-family: 'Raleway', sans-serif;
    color: #fff;
    max-width: 600px;
    display: block;
    padding: 7px 0;
    margin: 0 auto 0px auto;
    transition:all .5s ease;
}
.top_02 .btn_more a:hover{
    background: #fff;
    border: solid 1px #34b2ff;
    color: #34b2ff;
}
.top_03{
    padding: 100px 0 230px 0;
    position: relative;
    max-width: 1900px;
    margin: 0 auto;
}
.top_03 .gray_box{
    background: #eff4f7;
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    padding: 120px 0 80px 0;
}
.top_03 h2{
    font-size: 4.0rem;
    font-weight: 800;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .10em;
    color: #0082c9;
    margin: 0 0 0px 0;
    position:absolute;
    left: 0;
    right: 0;
    top: -50px;
    background: url("../images/under_line.png") no-repeat center bottom;
}
.top_03 h2 span{
    display: block;
    padding-bottom: 20px;
}
.top_03 .illust01{
    width: 151px;
    left: 0;
    right: 56%;
    margin: 0 auto;
    top: 150px;
    position: absolute;
}
.top_03 .illust02{
    width: 415px;
    left: 46%;
    right: 0;
    margin: 0 auto;
    top: 200px;
    position: absolute;
}
.top_03 h3{
    font-size: 1.3rem;
    margin-bottom: 30px;
}
.top_03 .btn_recruit a{
    max-width: 600px;
    margin-left: auto;
    margin-right: auto;
    background: #fff;
    border: solid 1px #66c0ff;
    color: #66c0ff;
    font-size: 1.3rem;
    display: block;
    letter-spacing: .1em;
    font-weight: bold;
    padding: 4px 0;
    transition:all .5s ease;
}
.top_03 .btn_recruit a:hover{
    background: #66c0ff;
    border: solid 1px #66c0ff;
    color: #fff;
}
.top_04{
    background: #cdf2ff;
}
.top_04 .top_04_inner{
    max-width: 1200px;
    text-align: left;
    margin-left: auto;
    margin-right: auto;
    padding: 80px 0;
}
.top_04 h2{
    font-size: 4.0rem;
    font-weight: 800;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .10em;
    color: #0082c9;
    margin: 0 0 20px 0;
    background: url("../images/under_line.png") no-repeat 0 bottom;
}
.top_04 h2 span{
    display: block;
    padding-bottom: 20px;
}
.top_04 h3{
    font-size: 1.3rem;
    margin-bottom: 30px;
}
.top_04 ul{
    font-size: 0;
}
.top_04 li{
    display: inline-block;
    width: 50%;
    color: #fff;
    vertical-align: top;
}
.top_04 .link_tel a{
    color: #fff;
    background: #26b2ff;
    display: block;
    padding: 20px 30px;
    height: 99px;
    transition:all .5s ease;
}
.top_04 .link_tel a:hover{
    background: #5AC4FF;
}
.top_04 .link_tel span{
    background: url("../images/icon_phone.png") no-repeat 0 center;
    font-size: 2.0rem;
    font-weight: 800;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .10em;
    color: #fff;
    padding-left: 40px;
}
.top_04 .link_contact a{
    color: #fff;
    background: #0082c9;
    display: block;
    padding: 20px 30px;
    height: 99px;
    transition:all .5s ease;
}
.top_04 .link_contact a:hover{
    background: #5199C0;
}
.top_04 .link_contact span{
    background: url("../images/icon_mail.png") no-repeat 0 center;
    font-size: 1.6rem;
    font-family: 'Raleway', sans-serif;
    color: #fff;
    padding-left: 40px;
    letter-spacing: .1em;
}

/* --------------------
	  privacy
--------------------- */
.privacy01 {
    padding: 80px 0;
}
.privacy01 h2{
    font-size: 2.5rem;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .3em;
    color: #0082c9;
    margin-bottom: 40px;
}
.privacy01 h3{
    font-size: 1.3rem;
    letter-spacing: .2em;
    color: #00a8ff;
    margin-bottom: 20px;
}
.privacy01 p{
    max-width: 830px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.privacy02 {
    padding: 80px 0;
}
.privacy02 dl{
    max-width: 830px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.privacy02 dt{
    font-size: 1.2rem;
    margin-bottom: 20px;
}
.privacy02 dt:before{
    content: "●";
    color: #00a8ff;
}
.privacy02 dd{
    margin-bottom: 40px;
}
.privacy02 dd a{
    color: #00a8ff;
    text-decoration: underline;
}


/* --------------------
	  security
--------------------- */
.security01 {
    padding: 80px 0;
}
.security01 h2{
    font-size: 2.5rem;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .3em;
    color: #0082c9;
    margin-bottom: 40px;
}
.security01 h3{
    font-size: 1.3rem;
    letter-spacing: .2em;
    color: #00a8ff;
    margin-bottom: 20px;
}
.security01 p{
    max-width: 830px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
}
.security02 {
    padding: 80px 0;
}
.security02 ul{
    max-width: 830px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    list-style-type: decimal;
    padding-left: 35px;
}
.security02 li{
    margin-bottom: 40px;
    position: relative;
}
.security02 li:before{
    content: "●";
    color: #00a8ff;
    position: absolute;
    left: -35px;
}
.security02 .text_right{
    text-align: right;
    max-width: 830px;
    margin:30px auto 0 auto;
}
/* --------------------
	  recruit
--------------------- */
.recruit01 {
    padding: 80px 0;
}
.recruit01 h2{
    font-size: 2.5rem;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .3em;
    color: #0082c9;
    margin-bottom: 40px;
}
.recruit01 p{
    max-width: 989px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
}
.recruit01 h3{
    font-size: 1.3rem;
    text-align: center;
}
.btn_more a{
    background: #00a8ff url("../images/recruit/icon01.png") no-repeat 95% center / 3%;
    color: #fff;
    font-size: 1.2rem;
    max-width: 680px;
    margin-left: auto;
    margin-right: auto;
    display: block;
    padding: 10px 0;
    margin-top: 30px;
    letter-spacing: .05em;
}
.recruit02 {
    padding: 80px 0;
}
.recruit02 h2{
    font-size: 1.4rem;
    font-weight: bold;
    letter-spacing: .2em;
    margin-bottom: 80px;
}
.recruit02 h2 span{
    display: block;
    letter-spacing: .05em;
}
.recruit02 ul{
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 30px;
    text-align: left;
}
.recruit02 li{
    margin-bottom: 20px;
    background: url("../images/recruit/icon02.png") no-repeat 0 5px;
    padding-left: 15px;
    font-size: 1.1rem;
}
.recruit02 dl{
    max-width: 765px;
    margin: 0 auto 60px auto;
    background: url("../images/recruit/line01.png") no-repeat 0 bottom,
        url("../images/recruit/line02.png") no-repeat right bottom;
}
.recruit02 dl dt {
 float: left;
 padding: 22px 0 22px 0;
 width: 10em;
    font-size: 1.1rem;
    text-align: left;
    background: url("../images/recruit/line01.png") no-repeat 0 top;
}
.recruit02 dl dd {
    font-size: 1.1rem;
 padding: 22px 4% 22px 15em;
    text-align: left;
    background: url("../images/recruit/line02.png") no-repeat right top;
}
.recruit02 dl dd a{
    color: #00a8ff;
    text-decoration: underline;
}


/* --------------------
	  contact
--------------------- */
.contact01 {
    padding: 80px 0;
}
.contact01 h2{
    font-size: 2.5rem;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .3em;
    color: #0082c9;
    margin-bottom: 40px;
}
.contact01 h3{
    font-size: 1.2rem;
    text-align: center;
}
.contact02 {
    padding: 50px 0;
}
.contact02 h2{
    font-size: 1.4rem;
    margin-bottom: 20px;
    text-align: center;
}
.contact02 h3,.contact02 h3 span{
    font-size: 1.1rem;
    margin-bottom: 5px;
    text-align: center;
}
.contact02 .phone a{
    font-size: 2.8rem;
    font-family: 'Raleway', sans-serif;
    font-weight: 800;
    letter-spacing: .1em;
    color: #0082c9;
    background: url("../images/icon_phone02.png") no-repeat 0 20px / 11%;
    display: inline-block;
    padding-left: 40px;
}
.contact02 table{
    width: 760px;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    margin-top: 30px;
    margin-bottom: 30px;
}
.contact02 table th{
    display: block;
    font-size: 1.1rem;
    width: 100%;
    padding: 10px 0;
}
.contact02 table td{
    display: block;
    width: 100%;
}
.contact02 table input,
.contact02 table textarea{
    padding: 20px 20px;
    font-size: 1.1rem;
    border: 0;
    background: #ebf8ff;
    width: 100%;
}
.contact02 .privacy_box{
    width: 760px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 50px;
    margin-bottom: 30px;
    text-align: left;
}
.contact02 .privacy_box h4{
    font-size: 1.2rem;
    margin-bottom: 10px;
}
.contact02 input[type="submit"],
.contact02 input[type="button"],
.contact02 input[type="button"]{
    border: solid 1px #0082c9;
    color: #0082c9;
    background: #fff;
    padding: 20px ;
    font-size: 1.2rem;
    width: 376px;
    cursor: pointer;
    margin-bottom: 80px;
}
.contact02 input[type="submit"]:hover,
.contact02 input[type="button"]:hover,
.contact02 input[type="button"]:hover{
    border: solid 1px #0082c9;
    background: #0082c9;
    color: #fff;
}





/* --------------------
	  comapny
--------------------- */
.company01 {
    padding: 80px 0;
}
.company01 h2{
    font-size: 2.5rem;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .3em;
    color: #0082c9;
    margin-bottom: 40px;
}
.company01 h3{
    font-size: 1.4rem;
    font-weight: 800;
    margin-bottom: 80px;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .3em;
}
.company01 .descript{
    font-size: 0;
}
.company01 .descript h4{
    text-align: right;
    width: 40%;
    display: inline-block;
    vertical-align: top;
    border-bottom: solid 1px #eeeeee;
}
.company01 .descript h4 img{
    max-width: 271px;
}
.company01 .descript .right{
    text-align:left;
    display: inline-block;
    vertical-align: top;
    width: 60%;
    border-top: solid 1px #eeeeee;
}
.company01 .descript h5{
    max-width: 785px;
    font-size: 1.3rem;
    padding: 80px 30px 0px 30px;
    line-height: 2.0em;
}
.company01 h3 span{
    display: block;
    letter-spacing: .05em;
}
.company01 dl{
    max-width: 765px;
    margin: 0 auto 60px auto;
    background: url("../images/recruit/line01.png") no-repeat 0 bottom,
        url("../images/recruit/line02.png") no-repeat right bottom;
}
.company01 dl dt {
 float: left;
 padding: 22px 0 22px 0;
 width: 10em;
    font-size: 1.1rem;
    text-align: left;
    background: url("../images/recruit/line01.png") no-repeat 0 top;
}
.company01 dl dd {
    font-size: 1.1rem;
 padding: 22px 4% 22px 15em;
    text-align: left;
    background: url("../images/recruit/line02.png") no-repeat right top;
}
.company01 dl dd a{
    color: #00a8ff;
    text-decoration: underline;
}
.company01 .googlemap iframe{
    width: 100%;
    height: 500px;
    margin-bottom: 30px;
}



/* --------------------
	  service
--------------------- */
.service01{
    padding: 80px 0 220px 0;
    position: relative;
    z-index: 3;
    overflow: hidden;
    
}
.service02{
    padding: 80px 0 100px 0;
    z-index: 2;
}
.service_inner{
    max-width: 1200px;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    font-size: 0;
}
.service01{
    background: url("../images/service/bg.png") no-repeat top center;
}
.service01 h2{
    font-size: 2.5rem;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .3em;
    color: #0082c9;
    margin-bottom: 135px;
}
.service01 h3{
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 20px;
    font-size: 2.2rem;
}
.service01 h4{
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 135px;
    font-size: 1.5rem;
}
.service01 .photo{
    max-width: 600px;
    margin-bottom: 100px;
}
.service01 .txt{
    max-width: 762px;
    background: #fff;
    text-align: left;
    padding: 30px 30px;
    line-height: 2.7rem;
    font-size: 1.2rem;
    box-shadow:1px 2px 6px 1px #e4e4e4;
    position: absolute;
    bottom: -90px;
    right: -40px;
}
.service02 h2{
    font-size: 1.8rem;
    font-weight: 800;
    font-family: 'Raleway', sans-serif;
    letter-spacing: .1em;
    color: #559dd2;
    margin: 20px 0 60px 0;
}
.service02 h2 span{
    display: block;
    color: #000000;
    letter-spacing: 0;
    font-size: 1.1rem;
}
.service_intro01 .left{
    width: 50%;
    float: left;
}
.service_intro01 .left img{
    width: 90%;
}
.service_intro01 .right{
    width: 50%;
    float: left;
    text-align: left;
     position: relative;
    height: 240px;
}
.service_intro01 .right .txt{
    font-size: 1.15rem;
    line-height: 2.4rem;
    width: 100%;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
      -webkit- transform: translateY(-50%) translateX(-50%);
}
.service_intro02 .left{
    width: 50%;
    float: left;
    text-align: left;
     position: relative;
    height: 240px;
}
.service_intro02 .left .txt{
    font-size: 1.15rem;
    line-height: 2.4rem;
    width: 100%;
    text-align: right;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translateY(-50%) translateX(-50%);
      -webkit- transform: translateY(-50%) translateX(-50%);
}
.service_intro02 .right{
    width: 50%;
    float: left;    
}
.service_intro02 .right img{
    width: 90%;
}











