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

/* アニメーション設定 */
@-webkit-keyframes bgroop {
    from {
        background-position: 0  0;
    }
    to {
        background-position: -1520px 0;
    }
}
@keyframes bgroop {
    from {
        background-position: 0 0;
    }
    to {
        background-position: -1520px 0;
    }
}


.arrowWrap {
position: absolute;
right: 0;
bottom: 0;
height: 240px;
z-index: 100;
background: #1a6bb5;
width: 88px;
}

.arrowInner p {
  font-size: 12px;
  text-align: end;
  color: #fff;
  -webkit-transform: rotate(90deg);
  transform: rotate(90deg);
/*  text-shadow:1px 1px 0 #FFF, -1px -1px 0 #FFF,
              -1px 1px 0 #FFF, 1px -1px 0 #FFF,
              0px 1px 0 #FFF,  0-1px 0 #FFF,
              -1px 0 0 #FFF, 1px 0 0 #FFF;*/
}

.arrow {
  width: 1px;
  height: 100px;
  margin: 50px auto 0;
  background-color: #eee;
  position: relative;
  overflow: hidden;
}

.arrow::before {
  content: '';
  width: 1px;
  height: 100px;
  margin: 50px auto 0;
  background-color: #000;
  position: absolute;
  top: -150px;
  left: 0;
  -webkit-animation: arrow 2.5s ease 0s infinite normal;
  animation: arrow 2.5s ease 0s infinite normal;
}

.arrowInner { position: absolute; bottom: 20px; right: 0; }

@keyframes arrow {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }

  60% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }

  100% {
    -webkit-transform: translate3d(-50%, 100px, 0);
    transform: translate3d(-50%, 100px, 0);
  }
}


/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
slick
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.slick-slider {
  position: relative;
  display: block;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -moz-box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  min-height: 1px;
  display: none;
  outline: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block; }

.slick-arrow.slick-disabled {
  display: none;
  opacity: 0; }



/*PC*/
@media print, screen and (min-width: 768px) {
#header {
z-index: 10000;
/*background-color: rgba(255,255,255,0.70)*/
}


#menu li a { color: #fff!important;}
.subMenu li a { color: #fff!important;}

.logo_com { display: none; }
header.smaller #menu li a { color: #333!important;}

#header {
z-index: 10000;
/*background-color: rgba(255,255,255,0.70)*/
}
.logo_Hed { display: none; }

.logo_Hed_index {
-moz-transition: all 0.3s;
position: absolute;
top: 10px;
left: 20px;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
width: 210px;
}

.logo_Hed_index img {
width: 100%;
height: auto;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

.logo_Hed_index a {
display: block;
width: 100%;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-pack: center;
-ms-flex-pack: center;
justify-content: center;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

header.smaller .logo_Hed {
opacity: 1!important;
width: 160px;
display: block;
position: absolute;
left: 15px;
top:13px;
-moz-transition: all 0.3s;
-o-transition: all 0.3s;
-webkit-transition: all 0.3s;
transition: all 0.3s;
}

header.smaller .logo_Hed_index {
display: none;
}

header.smaller .logo_Hed img {
width: 100%;
height: auto;
}
header.smaller .subMenu li a { color: #333!important;}

.subMenu li a {
	text-shadow: 0px 0px 2px #666;
}

.subMenu li a,
#menu li a  {
	text-shadow: 0px 0px 2px #666;
}
/*--------------------*/

/*.headerWrap:before {
content: "";
position: absolute;
bottom: 0;
right: 0;
width: 71.4%;
height: 400px;
background: #1a6bb5;
}*/

.hedTitWrap {
height: calc(100% - 60px);
padding: 0;
}

.idxHedTit {
width: 100%;
height: 100%;
box-sizing: border-box;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

.idxHedTitIn {
width: 90%;
z-index: 1000;
margin:auto;
}

.idxHedTitIn h2 {
color: #000;
width: 80%;
margin:100px 0 60px;
text-align: left;
position: relative;
}

.idxHedTitIn h2::before { 
position: absolute;
display: block;
content: "";
width: 500px;
height: 1px;
background: #000;
left: 0;
bottom: -30px; 
}

.idxHedTitIn h2 span.sp02 { letter-spacing:-5px; display: block; font-size:90px; line-height:1.2; font-weight:800; margin-bottom:30px; color:#1a6bb5;}
.idxHedTitIn h2 span.sp01 { font-size: 30px;line-height: 1.3; display: block; font-weight:bold;}

.idxHedTitIn p { font-size: 20px; font-weight:bold;text-align: left; line-height: 1.4; width: 70%; }

.idxHedTitIn h3 {
text-align: center;
color: #fff;
font-size: 2rem;
letter-spacing: 0.1em;
line-height: 1.5em;
text-shadow: 2px 2px 2px rgba(0,0,0,0.15);
}

.hedTitWrap {
height: 100vh;
}

.hedTitWrap {
position: absolute!important;
top: 0;
right: 0;
width: calc(100%);
}


/*---------------------*/
.headerWrap {
position: relative;
}

.vegas-slide {
width: 100%;
margin:0!important; 
height: 100% !important;
}

/*---------sldier---------------*/

.mainvisual-home {
position: relative;
height: 100vh;
}

/*----------------index------------------------------------*/
.photo_hover_wrap img {
width: 100%;
height: auto;
}

.photo_hover_wrap {
display: block;
height: 250px;
overflow: hidden;
position: relative;
text-decoration: none;
z-index: 0;
}
.photo_hover_wrap .photo {
display: block;
height: auto;
left: 0;
position: absolute;
top: 0;
transition: all 0.2s linear 0s;
width: 100%;
}
.idx_box01_list li a:hover .photo_hover_wrap {
text-decoration: none;
cursor: pointer;
}
.idx_box01_list li a:hover .photo_hover_wrap .photo {
transform: scale(1.1);
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.idx_txtbox_35l { width: 35%; float: left; }
.idx_imgbox_60r { width: 60%; float: right; }
.idx_txtbox_35r { width: 35%; float: right; }
.idx_imgbox_60l { width: 60%; float: left; }


/*-------idx_box00-------------*/
#idx_box00 {
	background: url(../images/index/bg_idx01.jpg) center center;
    background-size: auto;
	background-size: cover;
	overflow: hidden;
	position: relative;
	margin:0;
	padding:60px 0;
}

#idx_box00::before { position: absolute; width: 50%; height: 600px;  left: 0;  bottom: 0px; background: url("../images/index/idx_bg00.png") left bottom; z-index: 0; content: ""; display: block; background-size: 100%; }

#hoge {
	background-size: cover;
	width: 100%;
	min-height: 300px;
	overflow: hidden;
	max-height: 400px;
	overflow: hidden;
	position: relative;
	min-width: 1200px;
}

#hoge h3 {
	font-size:2.4em;
	line-height:1.6;
	text-align:center;
	letter-spacing:2px;
	margin:0 auto;
	color:#1a6bb5;
	position: absolute;
	left:0;
	right:0;
	text-align:center;
}

#hoge p {
	color:#000;
	font-size:1.4em;
	font-weight:bold;
	text-align:center;
	position: absolute;
	top:130px;
	left:0;
	right:0;
	text-align:center;
}


#hoge h4 {
	font-size:1.4em;
	line-height:1.4;
	text-align:center;
	letter-spacing:1px;
	margin:0 auto;
	color:#1a6bb5;
	position: absolute;
	left:0;
	right:0;
	top:280px;
	text-align:center;
}

#hoge .en_txt {
	color:#000;
	font-size:1em !important;
	font-weight:bold;
	text-align:center;
	position: absolute;
	top:320px !important;
	left:0;
	right:0;
	text-align:center;
}



/*------------idx_box01-------------*/
#idx_box01 { background:url(../images/index/idx01_bg.jpg) top right no-repeat; overflow:hidden; margin:0 0 100px; padding-bottom:160px;}
#idx_box01 .idx_tit { color: #000; margin-bottom:40px;}
#idx_box01 .idx_tit span.en { color: #1a6bb5; font-size:3.6em; display:block;}
#idx_box01 .idx_tit span.jp { color: #000; font-size:1.2em; display:block;}
#idx_box01 .idx_txt { color: #000;}
.idx_box01_box { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap;flex-direction:row-reverse;}
.idx_box01_imgbox { flex-basis: 55%; max-width: 65%; }
.idx_box01_img_bg { width: 100%; position: relative; }
.idx_box01_img_bg::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.box01_bg::before { position: absolute; background-size: cover; top: 0; left: 0; width: 800px; height: 500px; background:url("../images/index/bg01.jpg") center center; content: ""; display: block; background-repeat: no-repeat; background-size:cover;}
.idx_box01_txtbox { flex-basis: 45%; max-width: 45%; box-sizing: border-box; padding: 50px 100px 0 0; }
.idx_box01_tit { font-size: 20px; font-weight: bold; margin-bottom: 30px; }
.idx_box01_txt { line-height: 2em; }



/*------------idx_box02-------------*/
#idx_box02 { background:url(../images/index/idx_bg00.png) bottom left no-repeat; overflow:hidden; margin:0; padding-bottom:120px;}
#idx_box02 .idx_tit { color: #000; margin-bottom:40px;}
#idx_box02 .idx_tit span.en { color: #1a6bb5; font-size:3.6em; display:block;}
#idx_box02 .idx_tit span.jp { color: #000; font-size:1.2em; display:block;}
#idx_box02 .idx_txt { color: #000;}
.idx_box02_box { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap;}
.idx_box02_imgbox { flex-basis: 55%; max-width: 65%; }
.idx_box02_img_bg { width: 100%; position: relative; }
.idx_box02_img_bg::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.box02_bg::before { position: absolute; background-size: cover; top: 0; left:-140px; width: 800px; height: 500px; background:url("../images/index/bg02.jpg") center center; content: ""; display: block; background-repeat: no-repeat; background-size:cover;}
.idx_box02_txtbox { flex-basis: 45%; max-width: 45%; box-sizing: border-box; padding: 50px 0 0 100px; }
.idx_box02_tit { font-size: 20px; font-weight: bold; margin-bottom: 30px; }
.idx_box02_txt { line-height: 2em; margin-bottom:30px;}

.flow_img { margin:120px 0 0;}



/*------------idx_box03-------------*/
#idx_box03 { background:url(../images/index/bg_p.jpg) 0 0 repeat-x;  margin:0 0 130px; padding:80px 0 0;}
#idx_box03 .idx_tit span.en { color: #1a6bb5; font-size:3.6em; line-height:1; display:block;}
#idx_box03 .idx_tit span.jp { color: #000; font-size:1em; display:block;}
#idx_box03 .idx_tit { font-size: 20px; font-weight: bold; margin-bottom: 60px; text-align: center; }

.product_list { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; }
.product_list li { background:#FFF;width: 18.8%; margin-right: 1.5%; margin-bottom:3%; box-shadow: 16px 16px 36px rgba(131,161,181,.1);}
.product_list li:nth-child(5n+5) { margin-right: 0px; }
.product_list li a {cursor: pointer;}

.product_img {
    display: block;
    height: 140px;
    overflow: hidden;
    position: relative;
    text-decoration: none;
    z-index: 0;
}

.product_img .photo { width:100%; height:auto;}

.product_img .photo {
display: block;
height: auto;
left: 0;
position: absolute;
top: 0;
transition: all 0.2s linear 0s;
width: 100%;
}

.product_list li a:hover .product_img .photo { 
transform: scale(1.1);
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.product_img img { width: 100%; height: auto; }

.product_txtbox {padding:15px; box-sizing:border-box;}

.product_txt { margin-bottom: 20px; font-size:0.9em; font-weight:bold; }




/*------------idx_box04-------------*/
#idx_box04 {margin:0 0 130px; position:relative;}
.idx_box04_box { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap; align-items:center;}
.idx_box04_box01 { flex-basis: 30%; max-width: 30%; }
.idx_box04_box02 { flex-basis: 70%; max-width: 70%; height:300px; overflow:hidden; }

#idx_box04 .idx_tit { color: #000; margin-bottom:40px;}
#idx_box04 .idx_tit span.en { color: #1a6bb5; font-size:3.6em; display:block;}
#idx_box04 .idx_tit span.jp { color: #000; font-size:1.2em; display:block;}

.idx_box04_box02 ul {
	margin:0;
	padding:0;
	list-style-type:none;
	height:300px;
	overflow-y:auto;
}

.idx_box04_box02 ul li {
	background:#FFF;
	padding:15px;
	box-sizing:border-box;
	margin-bottom:1px;
}

.idx_box04_box02 ul li h5 {
	font-size:0.8em;
	line-height:1.4;
	color:#1a6bb5;
}



/*------------idx_box05-------------*/
#idx_box05 { background:url(../images/index/idx01_bg.jpg) top right no-repeat; overflow:hidden; margin:0; padding-bottom:160px;}
#idx_box05 .idx_tit { color: #000; margin-bottom:40px;}
#idx_box05 .idx_tit span.en { color: #1a6bb5; font-size:3.6em; display:block;}
#idx_box05 .idx_tit span.jp { color: #000; font-size:1.2em; display:block;}
#idx_box05 .idx_txt { color: #000;}
.idx_box05_box { width: 100%; margin: 0 auto; display: flex; flex-wrap: wrap;flex-direction:row-reverse;}
.idx_box05_imgbox { flex-basis: 55%; max-width: 65%; }
.idx_box05_img_bg { width: 100%; position: relative; }
.idx_box05_img_bg::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.box05_bg::before { position: absolute; background-size: cover; top: 0; left: 0; width: 800px; height: 500px; background:url("../images/index/bg05.jpg") center center; content: ""; display: block; background-repeat: no-repeat; background-size:cover;}
.idx_box05_txtbox { flex-basis: 45%; max-width: 45%; box-sizing: border-box; padding: 50px 100px 0 0; }
.idx_box05_tit { font-size: 20px; font-weight: bold; margin-bottom: 30px; }
.idx_box05_txt { line-height: 2em; }
.idx_box05_subtit {
font-size: 24px;
line-height: 40px;
font-weight: bold;
margin-bottom:30px;
color:#021039;
}



/*------------idx_box06-------------*/
#idx_box06 { background:url(../images/index/idx_bg00.png) bottom left no-repeat; overflow:hidden; margin:0; padding-bottom:80px;}
#idx_box06 .idx_tit { color: #000; margin-bottom:40px; text-align:center;}
#idx_box06 .idx_tit span.en { color: #1a6bb5; font-size:3.6em; display:block;}
#idx_box06 .idx_tit span.jp { color: #000; font-size:1.2em; display:block;}
#idx_box06 .idx_txt { color: #000; text-align:center; margin-bottom:40px;}

.idx_wrap06 {
	width:90%;
	display:flex;
	flex-wrap:wrap;
	margin:0 auto 60px;
	justify-content:space-between;
}

.idx_wrap06 div {
	width:13%;
}




/* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
case-study
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
.m-home-case-study {
  position: relative;
  margin:0 0 80px;
 }
  .m-home-case-study:before {
    content: "";
    width: calc(490 / 1500 * 100%);
    height: 60%;
    background-color: #f0f7f9;
    position: absolute;
    right: 0;
    top: 0; }
  .m-home-case-study:after {
    content: "Solution";
    position: absolute;
    right: 80px;
    bottom: 80px;
    color: #f0f7f9;
    font-family: 'Roboto', sans-serif;
    font-style: italic;
    font-size: 11.4rem;
    font-weight: 700; }
  .m-home-case-study > * {
    position: relative;
    z-index: 1; }

.m-home-case-study-title {
  position: relative;
  font-weight: 700;
  font-size: 2.8rem;
  padding-bottom: 20px; }
  .m-home-case-study-title:before {
    content: "";
    width: 40px;
    height: 1px;
    background-color: #2d414b;
    position: absolute;
    left: 0;
    bottom: 0; }

.m-home-case-study-list {
  position: relative;
  padding-bottom: 50px;
  margin-top: 48px; }
  .m-home-case-study-list .slick-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 1; }
    .m-home-case-study-list .slick-dots li {
      margin-left: 4px;
      margin-right: 4px;
      width: 30px;
      height: 3px;
      cursor: pointer;
      background-color: #e1f0f3;
      text-indent: -9998em;
      -webkit-transition: .3s;
      -o-transition: .3s;
      transition: .3s; }
      .m-home-case-study-list .slick-dots li.slick-active {
        background-color: #1a6bb5; }
  .m-home-case-study-list .m-icon-slide-prev,
  .m-home-case-study-list .m-icon-slide-next {
    position: absolute;
    top: 50%;
    width: 50px;
    height: 50px;
    -webkit-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s;
    z-index: 1;
    cursor: pointer;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%); }
    .m-home-case-study-list .m-icon-slide-prev:hover,
    .m-home-case-study-list .m-icon-slide-next:hover {
      opacity: 0.7;
      text-decoration: none; }
    .m-home-case-study-list .m-icon-slide-prev:before,
    .m-home-case-study-list .m-icon-slide-next:before {
      content: "";
      position: absolute;
      top: 50%;
      width: 36px;
      height: 36px;
      border-top: solid 2px #2d414b; }
  .m-home-case-study-list .m-icon-slide-prev {
    left: 50%;
    margin-left: -530px; }
    .m-home-case-study-list .m-icon-slide-prev:before {
      border-left: solid 2px #2d414b;
      left: 50%;
      -webkit-transform: translate(-30%, -50%) rotate(-45deg);
      -ms-transform: translate(-30%, -50%) rotate(-45deg);
      transform: translate(-30%, -50%) rotate(-45deg); }
  .m-home-case-study-list .m-icon-slide-next {
    right: 50%;
    margin-right: -530px; }
    .m-home-case-study-list .m-icon-slide-next:before {
      border-right: solid 2px #2d414b;
      right: 50%;
      -webkit-transform: translate(30%, -50%) rotate(45deg);
      -ms-transform: translate(30%, -50%) rotate(45deg);
      transform: translate(30%, -50%) rotate(45deg); }
  .m-home-case-study-list-item {
    width: 920px;
    margin-left: 50px;
    margin-right: 50px; }
    .m-home-case-study-list-item a {
      -webkit-transition: .3s;
      -o-transition: .3s;
      transition: .3s;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      .m-home-case-study-list-item a:hover {
        -webkit-transform: translate(-5px, -5px);
        -ms-transform: translate(-5px, -5px);
        transform: translate(-5px, -5px);
        text-decoration: none; }
    .m-home-case-study-list-item-image {
      width: calc(522 / 920 * 100%);
      margin-right: -44px; }
    .m-home-case-study-list-item-content {
      position: relative;
      z-index: 1;
      -webkit-box-flex: 1;
      -ms-flex: 1 1 0px;
      flex: 1 1 0; }
      .m-home-case-study-list-item-content-inner {
        position: relative;
        background-color: #1a6bb5;
        color: #ffffff;
        padding: 60px; }
    .m-home-case-study-list-item-num {
      text-align: right;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      -webkit-box-pack: end;
      -ms-flex-pack: end;
      justify-content: flex-end;
      font-family: 'Roboto', sans-serif;
      font-style: italic;
      font-weight: 700; }
      .m-home-case-study-list-item-num .title {
        margin-right: 10px;
        font-size: 2rem;
        border-bottom: solid 1px #2d414b; }
      .m-home-case-study-list-item-num .num {
        font-size: 6.4rem; }
    .m-home-case-study-list-item-title {
      margin-bottom: 20px;
      font-weight: 700;
      line-height: 1.55;
      font-size: 2.4rem; }
    .m-home-case-study-list-item-text {
      line-height: 2;
      font-size: 1.4rem; }
    .m-home-case-study-list-item-btn {
      position: absolute;
      right: -20px;
      bottom: 30px;
      font-family: 'Roboto', sans-serif;
      font-style: italic;
      font-size: 1.4rem;
      padding-right: 55px; }
      .m-home-case-study-list-item-btn:before {
        content: "";
        width: 46px;
        height: 1px;
        background-color: #2d414b;
        position: absolute;
        right: 0;
        bottom: 6px; }
      .m-home-case-study-list-item-btn:after {
        content: "";
        width: 1px;
        height: 6px;
        background-color: #2d414b;
        position: absolute;
        right: 0;
        bottom: 6px;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: 100% 100%;
        -ms-transform-origin: 100% 100%;
        transform-origin: 100% 100%; }


}





/*----------------------------------------------------*/





/*sp*/
@media only screen and (max-width: 767px) {
#header {
background-color: rgba(255,255,255,1.00)
}

.arrowWrap { display: none; }

.headerWrap { position: relative; }



.hedTitWrap {
height: 100%;
padding: 0;
}

.idxHedTit {
width: 100%;
height: 100%;
box-sizing: border-box;
display:-webkit-box;
display:-ms-flexbox;
display:flex;
-webkit-box-align: center;
-ms-flex-align: center;
align-items: center;
}

.idxHedTitIn {
width: 56%;
position: relative; 
z-index: 100;
padding-left: 3%;
}

.idxHedTitIn h2 { color: #fff; margin-bottom: 35px; position: relative; line-height: 2.4em; }
.idxHedTitIn h2::before { 
position: absolute;
display: block;
content: "";
width: 90%;
height: 1px;
background: #000;
left: 0;
bottom: -15px; 
}
.idxHedTitIn h2 span.sp02 { font-size: 8vw; display: block; font-weight:800; margin-bottom:20px;color: #1a6bb5; }
.idxHedTitIn h2 span.sp01 { font-size: 4vw; display: block; font-weight: bold; color:#000; line-height:1.4;}
.idxHedTitIn p { font-size: 12px; font-weight:bold; color: #000; text-align: left; line-height: 1.8em;}

.idxHedTitIn h3 {
text-align: center;
color: #000;
font-size: 2rem;
letter-spacing: 0.1em;
line-height: 1.5;
text-shadow: 2px 2px 2px rgba(0,0,0,0.15);

}
.hedTitWrap {
height: 400px;
position: absolute!important;
top: 60px;
right: 0; 
}

.hedTitWrap {
width: 100%;
}


/*---------------------*/
.headerWrap {
position: relative;
}

.vegas-slide {
height: 100% !important;
}

.logo_Hed_index { display: none; }

/*---------sldier---------------*/

.mainvisual-home {
position: relative;
height: 400px;
}

/*----------------index------------------------------------*/
.photo_hover_wrap img {
width: 100%;
height: auto;
}

.photo_hover_wrap {
display: block;
height: 250px;
overflow: hidden;
position: relative;
text-decoration: none;
z-index: 0;
}
.photo_hover_wrap .photo {
display: block;
height: auto;
left: 0;
position: absolute;
top: 0;
transition: all 0.2s linear 0s;
width: 100%;
}

.idx_box01_list li a:hover .photo_hover_wrap {
text-decoration: none;
cursor: pointer;
}
.idx_box01_list li a:hover .photo_hover_wrap .photo {
transform: scale(1.1);
transition: all 2s cubic-bezier(0.23, 1, 0.32, 1) 0s;
}

.idx_txtbox_35l { width: 100%; margin: 0 auto; }
.idx_imgbox_60r { width: 100%; margin: 0 auto; }
.idx_txtbox_35r { width: 100%; margin: 0 auto; }
.idx_imgbox_60l { width: 100%; margin: 0 auto; }


/*-------idx_box00-------------*/
#idx_box00 {
	background: url(../images/index/bg_idx01.jpg) center center;
    background-size: auto;
	background-size: cover;
	overflow: hidden;
	position: relative;
	margin:0;
	padding:30px 15px;
}

#idx_box00::before { position: absolute; width:100%; height:600px;  left: 0;  bottom: 0px; background: url("../images/index/idx_bg00.png") left bottom; z-index: 0; content: ""; display: block; background-size: 100%; }

#hoge {
	background-size: cover;
	width: 100%;
	overflow: hidden;
	overflow: hidden;
	position: relative;
}

#hoge h3 {
	font-size:1.4em;
	line-height:1.4;
	text-align:center;
	letter-spacing:2px;
	margin:0 auto;
	color:#1a6bb5;
	position: relative;
	text-align:left;
	margin:0 0 20px;
}

#hoge p {
	color:#000;
	font-size:1em;
	font-weight:bold;
	text-align:left !important;
	position: relative;
	text-align:center;
	margin:0;
}


#hoge h4 {
	/*font-size:1em;
	line-height:1.4;
	text-align:left !important;
	letter-spacing:1px;
	margin:0 auto;
	color:#1a6bb5;
	position: relative;
	text-align:center;
	margin:0 0 20px;
	*/
	display:none;
}

#hoge .en_txt {
	display:none;
	/*color:#000;
	font-size:0.8em !important;
	font-weight:bold;
	text-align:left;
	position: relative;
	text-align:center;
	margin-bottom:0 !important;*/
}

canvas { display:none;}


/*------------idx_box01-------------*/
#idx_box01 { background:url(../images/index/idx01_bg.jpg) top right no-repeat; overflow:hidden; margin:0; padding-bottom:60px;}
#idx_box01 .idx_tit { color: #000; margin-bottom:20px;}
#idx_box01 .idx_tit span.en { color: #1a6bb5; font-size:2.6em; display:block;}
#idx_box01 .idx_tit span.jp { color: #000; font-size:1.2em; display:block;}
#idx_box01 .idx_txt { color: #000;}
.idx_box01_box { width:100%; margin: 0 auto;}
.idx_box01_imgbox { flex-basis: 100%; max-width: 100%; }
.idx_box01_img_bg { width: 100%; height:300px; position: relative; margin-bottom:30px; }
.idx_box01_img_bg::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.box01_bg::before { position: absolute; background-size: cover; top: 0; left: 0; width: 100%; height:300px; background:url("../images/index/bg01.jpg") center center; content: ""; display: block; background-repeat: no-repeat; background-size:cover;}
.idx_box01_txtbox { width:100%;}
.idx_box01_tit { font-size: 20px; font-weight: bold; margin-bottom: 30px; }
.idx_box01_txt { line-height: 2em; }



/*------------idx_box02-------------*/
#idx_box02 { background:url(../images/index/idx_bg00.png) bottom left no-repeat; overflow:hidden; margin:0; padding-bottom:60px;}
#idx_box02 .idx_tit { color: #000; margin-bottom:20px;}
#idx_box02 .idx_tit span.en { color: #1a6bb5; font-size:2.6em; display:block;}
#idx_box02 .idx_tit span.jp { color: #000; font-size:1.2em; display:block;}
#idx_box02 .idx_txt { color: #000;}
.idx_box02_box { width: 100%; margin: 0 auto;}
.idx_box02_imgbox { flex-basis: 100%; max-width:100%; }
.idx_box02_img_bg { width: 100%; height:300px; position: relative; }
.idx_box02_img_bg::before { position: absolute; top: 0; left: 0; width: 100%; height: 300px; margin-bottom:30px; }
.box02_bg::before { position: absolute; background-size: cover; top: 0; left:0; width: 100%; height: 300px; background:url("../images/index/bg02.jpg") center center; content: ""; display: block; background-repeat: no-repeat; background-size:cover;}
.idx_box02_txtbox { flex-basis:100%; max-width: 100%; }
.idx_box02_tit { font-size: 20px; font-weight: bold; margin-bottom: 30px; }
.idx_box02_txt { line-height: 2em; margin-bottom:30px;}

.flow_img { margin:40px 0 0;}



/*------------idx_box03-------------*/
#idx_box03 { background:url(../images/index/bg_p.jpg) 0 0 repeat-x;  margin:0 0 60px; padding:40px;}
#idx_box03 .idx_tit span.en { color: #1a6bb5; font-size:2.4em; line-height:1; display:block;}
#idx_box03 .idx_tit span.jp { color: #000; font-size:1em; display:block;}
#idx_box03 .idx_tit { font-weight: bold; margin-bottom: 20px; text-align: center; }

.product_list { /*width: 80%; margin: 0 auto 0px;*/ display:none; }
.product_list li { background:#FFF; width: 100%; box-shadow: 16px 16px 36px rgba(131,161,181,.1); margin-bottom:20px;}

.product_img { width: 100%; margin: 0 auto; }
.product_img img { width: 100%; height: auto; }

.product_txtbox {padding:15px; box-sizing:border-box;}

.product_txt { margin-bottom: 20px; font-size:0.9em; font-weight:bold; }




/*------------idx_box04-------------*/
#idx_box04 {margin:0 0 60px; position:relative;}
.idx_box04_box { width: 100%; margin: 0 auto;}
.idx_box04_box01 { flex-basis: 100%; max-width: 100%; }
.idx_box04_box02 { flex-basis: 100%; max-width: 100%; height:200px; overflow:hidden; }

#idx_box04 .idx_tit { color: #000; margin-bottom:20px;}
#idx_box04 .idx_tit span.en { color: #1a6bb5; font-size:2.6em; display:block;}
#idx_box04 .idx_tit span.jp { color: #000; font-size:1.2em; display:block;}

.idx_box04_box02 ul {
	margin:0;
	padding:0;
	list-style-type:none;
	height:200px;
	overflow-y:auto;
}

.idx_box04_box02 ul li {
	background:#FFF;
	padding:15px;
	box-sizing:border-box;
	margin-bottom:1px;
}

.idx_box04_box02 ul li h5 {
	font-size:0.8em;
	line-height:1.4;
	color:#1a6bb5;
}



/*------------idx_box05-------------*/
#idx_box05 { background:url(../images/index/idx01_bg.jpg) top right no-repeat; overflow:hidden; margin:0; padding-bottom:60px;}
#idx_box05 .idx_tit { color: #000; margin-bottom:20px;}
#idx_box05 .idx_tit span.en { color: #1a6bb5; font-size:2.6em; display:block;}
#idx_box05 .idx_tit span.jp { color: #000; font-size:1.2em; display:block;}
#idx_box05 .idx_txt { color: #000;}
.idx_box05_box { width:100%; margin: 0 auto;}
.idx_box05_imgbox { flex-basis: 100%; max-width: 100%; }
.idx_box05_img_bg { width: 100%; height:300px; position: relative; margin-bottom:30px; }
.idx_box05_img_bg::before { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.box05_bg::before { position: absolute; background-size: cover; top: 0; left: 0; width: 100%; height:300px; background:url("../images/index/bg05.jpg") center center; content: ""; display: block; background-repeat: no-repeat; background-size:cover;}
.idx_box05_txtbox { width:100%;}
.idx_box05_tit { font-weight: bold; margin-bottom: 30px; }
.idx_box05_txt { line-height: 2em; }



/*------------idx_box06-------------*/
#idx_box06 { background:url(../images/index/idx_bg00.png) bottom left no-repeat; overflow:hidden; margin:0; padding-bottom:40px;}
#idx_box06 .idx_tit { color: #000; margin-bottom:20px; text-align:center;}
#idx_box06 .idx_tit span.en { color: #1a6bb5; font-size:2.6em; display:block;}
#idx_box06 .idx_tit span.jp { color: #000; font-size:1.2em; display:block;}
#idx_box06 .idx_txt { color: #000; text-align:center; margin-bottom:20px;}

.idx_wrap06 {
	width:96%;
	display:flex;
	flex-wrap:wrap;
	margin:0 auto 10px;
	justify-content:space-between;
}

.idx_wrap06 div {
	width:48%;
	margin-bottom:4%;
}


  /* +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
case-study
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ */
  .m-home-case-study {
    position: relative; margin:0 0 60px;}
    .m-home-case-study:before {
      width: calc(490 / 750 * 100%);
      height: 40%;
      top: 200px; }
    .m-home-case-study:after {
      right: 0;
      bottom: auto;
      top: 64px;
      font-size: 7rem; }
  .m-home-case-study-title {
    font-size: 1.9rem;
    padding-bottom: 10px; }
    .m-home-case-study-title:before {
      width: 32px; }
  .m-home-case-study-list {
    padding-bottom: 30px;
    margin-top: 48px; }
    .m-home-case-study-list .slick-list {
      padding-left: 0 !important;
      padding-right: 0 !important; }
    .m-home-case-study-list .slick-dots li {
      width: 24px;
      height: 2px; }
    .m-home-case-study-list .m-icon-slide-prev,
    .m-home-case-study-list .m-icon-slide-next {
      top: 70%;
      width: 30px;
      height: 30px; }
      .m-home-case-study-list .m-icon-slide-prev:before,
      .m-home-case-study-list .m-icon-slide-next:before {
        width: 20px;
        height: 20px; }
    .m-home-case-study-list .m-icon-slide-prev {
      left: 10px;
      margin-left: 0; }
    .m-home-case-study-list .m-icon-slide-next {
      right: 10px;
      margin-right: 0; }
    .m-home-case-study-list-item {
      width: auto;
      margin-left: 0;
      margin-right: 0; }
      .m-home-case-study-list-item a {
        display: block; }
      .m-home-case-study-list-item-image {
        width: calc(612 / 750 * 100%);
        margin-right: 0; }
      .m-home-case-study-list-item-content {
        position: relative;
        margin-left: 40px;
        margin-right: 40px;
        margin-top: -20px;
        padding: 20px 30px 50px;
        background-color: #1a6bb5;
		color:#FFF; }
        .m-home-case-study-list-item:nth-of-type(even) .m-home-case-study-list-item-content {
          background-color: #1a6bb5; }
        .m-home-case-study-list-item-content-inner {
          position: static;
          background-color: transparent;
          padding: 0; }
          .m-home-case-study-list-item:nth-of-type(even) .m-home-case-study-list-item-content-inner {
            background-color: transparent; }
      .m-home-case-study-list-item-num {
        color: #ffffff; }
        .m-home-case-study-list-item-num .title {
          font-size: 1.1rem;
          border-bottom-color: #ffffff; }
        .m-home-case-study-list-item-num .num {
          font-size: 3.6rem; }
      .m-home-case-study-list-item-title {
        font-size: 2rem; }
      .m-home-case-study-list-item-text {
        font-size: 1.2rem; }
      .m-home-case-study-list-item-btn {
        right: -20px;
        bottom: 20px;
        font-size: 1.1rem;
        padding-right: 45px; }
        .m-home-case-study-list-item-btn:before {
          width: 36px;
          bottom: 2px; }
        .m-home-case-study-list-item-btn:after {
          height: 4px;
          bottom: 2px; }
.m-home-case-study-list {
  position: relative;
  padding-bottom: 50px;
  margin-top: 48px; }
  .m-home-case-study-list .slick-dots {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100%;
    margin: auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    z-index: 1; }
    .m-home-case-study-list .slick-dots li {
      margin-left: 4px;
      margin-right: 4px;
      width: 30px;
      height: 3px;
      cursor: pointer;
      background-color: #e1f0f3;
      text-indent: -9998em;
      -webkit-transition: .3s;
      -o-transition: .3s;
      transition: .3s; }
      .m-home-case-study-list .slick-dots li.slick-active {
        background-color: #1a6bb5; }

 .m-home-case-study-list-item-btn {
      position: absolute;
      right: -20px;
      bottom: 30px;
      font-family: 'Roboto', sans-serif;
      font-style: italic;
      font-size: 1.4rem;
      padding-right: 55px; }
      .m-home-case-study-list-item-btn:before {
        content: "";
        width: 46px;
        height: 1px;
        background-color: #2d414b;
        position: absolute;
        right: 0;
        bottom: 6px; }
      .m-home-case-study-list-item-btn:after {
        content: "";
        width: 1px;
        height: 6px;
        background-color: #2d414b;
        position: absolute;
        right: 0;
        bottom: 6px;
        -webkit-transform: rotate(-45deg);
        -ms-transform: rotate(-45deg);
        transform: rotate(-45deg);
        -webkit-transform-origin: 100% 100%;
        -ms-transform-origin: 100% 100%;
        transform-origin: 100% 100%; }


}