/* ------------------------------------------------------------------------ */
/* MAIN
/* ------------------------------------------------------------------------ */
.main {
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 768px) {
  .main {
    padding: 40px 0 0;
  }
}
@media print, screen and (min-width: 769px) {
  .main {
    padding: 0;
  padding-top:90px;
  }
}
/* ------------------------------------------------------------------------ */
/* MAIN : business
/* ------------------------------------------------------------------------ */
@media screen and (max-width: 768px) {
  .business {
    padding: 0 0 18px;
  }
  .business video{
    display: none;
  }
  .business .pc-business {
    display: none;
  }
  
  .business .sp-business {
    background: url(../../imgs/top/sp/visual.jpg) no-repeat top center;
    background-size:100%;
    padding-top:53%;
  
  }
   .business .sp-business.en {
    background: url(../../imgs/top/sp/visual_en.jpg) no-repeat top center;
    background-size:100%;
    padding-top:53%;
  
  } 
  
  
  .business .sp-business ul {
    display: inline-block;
    display: block;
  }
  .business .sp-business ul:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  * html .business .sp-business ul {
    height: 1%;
  }
  .business .sp-business li {
    float: left;
    width: 50%;
    background: #d8d8d8;
  }
  /*
  .business .sp-business li:first-child {
    width: 100%;
  }
  */
  
  .business .sp-business li.bus0 a {
    background-image: url(../../imgs/top/sp/img_05.jpg);
  }
  .business .sp-business li.bus1 a {
    background-image: url(../../imgs/top/sp/img_06.jpg);
  }
  .business .sp-business li.bus2 a {
    background-image: url(../../imgs/top/sp/img_07.jpg);
  }
  .business .sp-business li.bus3 a {
    background-image: url(../../imgs/top/sp/img_08.jpg);
  }
  .business .sp-business li.bus4 a {
    background-image: url(../../imgs/top/sp/img_08.jpg);
  }
  .business .sp-business li.bus5 a {
    background-image: url(../../imgs/top/sp/img_09.jpg);
  }
  .business .sp-business li.bus6 a {
    background-image: url(../../imgs/top/sp/img_10.jpg);
  }
  .business .sp-business .inner {
    padding: 2px;
  }
  .business .sp-business .inner div {
    position: relative;
    width: 100%;
    height: 100%;
    padding: 66.455% 0 0;
  }
  /*
  .business .sp-business .bus0 .inner div {
    padding: 38% 0 0;
  }
  */
  
  .business .sp-business a {
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: contain;
    font-size: 10px;
    line-height: 18px;
    text-align: center;
    text-decoration: none;
  }
  .business .sp-business a .tit {
    display: block;
    position: relative;
    top: 87px;
    height: 18px;
    background: rgba(255, 255, 255, 1) url(../../imgs/service/index_04.gif) no-repeat bottom right;
    background-size:10px;
    text-align: center;
  }
  .business .sp-business a .tit span {
    position: relative;
    display: inline;
    top: 1px;
    background-size: 9px 9px;
  }
  
  .business .sp-business a .tit.small {

    height: 24px;
    line-height:1.1;
  }
  
}
@media print, screen and (min-width: 769px) {
  .business {
    position: relative;
    width: 100%;
    height: 640px;
    margin: 0 0 28px;
    background: url(../../imgs/top/bg_bus.jpg) no-repeat 50% 50%;
    overflow: hidden;
  }
  .business h1 {
    position: relative;
    z-index: 100;
    width: 100%;
    text-align: center;
  }
  .business h1 img {
    position: relative;
    top: 219px;
  }
  .business video{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
  }
  .business .bx {
    position: relative;
    top: 328px;
    width: 100%;
    height: 221px;
    background: url(../../imgs/top/bg_slider.png) repeat-x 0 0;
  }
  .business .bx ul {
    margin: 15px 0 0;
  }
  .business .bx ul li {
    height: 221px;
    line-height: 0;
  }
   .business .bx ul li a{
    position: relative;
    display: block;
    background: #fff;
    box-shadow: 1px 1px #747474;
    line-height: 0;
   }
    .business .bx ul li a .img-wrap + span{
      display: block;
      position: absolute;
      top: 126px;
      left: 0;
      height: 34px;
      padding: 0 12px;
      line-height: 34px;
      z-index: 80;
      text-align:center !important;
      width:100%;
      box-sizing:border-box;
	font-family: mplus-1p-bold;
	color:#fff;
    }

#en .business .bx ul li a .img-wrap + span.small{
      font-size:12px !important;
    }

    .business .bx ul li a img{
      display: block;
      position: relative;
      top: 0;
      left: 0;
      width: 295px;
      height: 160px;
      line-height: 0;
    }

  .business .sp-business {
    display: none;
  }

}


/* ------------------------------------------------------------------------ */
/* MAIN : contents
/* ------------------------------------------------------------------------ */
.contents a h2 {
  font-weight: bold;
}
.contents a p {
  line-height: 14px;
  text-align: left;
}

@media screen and (max-width: 768px) {
  .contents {
    padding: 0 0 18px;
  }
  .contents a {
    height: 65px;
    overflow: hidden;
    padding: 0 16px 0 0;
    background-color: #f2f2f2;
    background-repeat: no-repeat;
    background-size: 65px 65px;
    border-bottom: 1px solid #d4d4d4;
    text-decoration:none !important;
    display:block;
  }
  .contents a.company {
    background-image: url(../../imgs/top/sp/img_00.jpg);
  }
  .contents a.works {
    background-image: url(../../imgs/top/sp/img_01.jpg);
  }
  .contents a.solution {
    background-image: url(../../imgs/top/sp/img_02.jpg);
  }
  .contents a.recruit {
    background-image: url(../../imgs/top/sp/img_03.jpg);
  }
  .contents a div {
    height: 45px;
    padding: 10px 40px 10px 75px;
    background: url(../../imgs/ico_04.png) no-repeat 100% 50%;
    background-size: 18px 18px;
  }
  .contents a h2 {
    margin: 0 0 4px;
    color: #0068b7;
    font-size: 14px;
    line-height: 45px;
    text-decoration:none !important;
  }
  .contents a h2 span {
    display: none;
  }
  .contents a p {
    display: none;
  }
}
@media print, screen and (min-width: 769px) {
  .contents {
    margin: 0 0 29px;
    padding: 0 28px;
    display: inline-block;
    display: block;
  }
  .contents:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  * html .contents {
    height: 1%;
  }
  .contents a {
    float: left;
    width: auto;
    height: 288px;
    margin: 4px;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    color: #fff;
    text-align: center;
    cursor: pointer;
    overflow:hidden;
    text-decoration:none !important;
  }

  .contents a div {
    position: relative;
    height: 288px;
  }
  .contents a h2 {
    position: relative;
    width: 100%;
    margin: 0 0 10px;
    padding: 90px 0 100px;
    background: url(../../imgs/ico_04.png) no-repeat 50% 170px;
    font-size: 22px;
    line-height: 22px;
    z-index: 2;
  }
  .contents a h2 span {
    margin: 4px 0 0;
    display: block;
    font-size: 18px;
    font-style: italic;
  }
  .contents a p {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
  }
  .contents a p img{
    display: block;
    position: relative;
    top: 0;
    left: 0;
    width: 100%;
    height: auto;
  }

  .zoom{
    transition: all 0s linear;
    -webkit-transition: all 0s linear;
    -moz-transition: all 0s linear;
    -ms-transition: all 0s linear;
  }
  .zoom.animate{
    transition: all 1s linear;
    -webkit-transition: all 1s linear;
    -moz-transition: all 1s linear;
    -ms-transition: all 1s linear;
  }

  .zoomIn{
    transform: scale(1.2);
    -webkit-transform: scale(1.2);
    -moz-transform: scale(1.2);
    -ms-transform: scale(1.2);
  }

}
@media print, screen and (min-width: 1540px) {
  .contents a {
    height: 350px;
  }
  .contents a div {
    height: 350px;
  }

  .contents a h2 {
    padding: 120px 0 100px;
    background: url(../../imgs/ico_04.png) no-repeat 50% 180px;    
  }
  
}
@media print, screen and (min-width: 1760px) {
  .contents a {
    height: 400px;
  }
  .contents a div {
    height: 400px;
  }

  .contents a h2 {
    padding: 150px 0 100px;
    background: url(../../imgs/ico_04.png) no-repeat 50% 210px;    
  }
  
}

/* ------------------------------------------------------------------------ */
/* MAIN : news
/* ------------------------------------------------------------------------ */
.news {
  width: 100%;
}
.news h2 {
  position: relative;
  width: 100%;
  background: url(../../imgs/top/bg_news.png) repeat-x 0 0;
}
.news h2 img {
  position: relative;
}
.news .list dt {
  color: #000;
  font-size: 14px;
  line-height: 18px;
}
.news .list dt span {
  display: inline-block;
  width: 86px;
  font-size: 9px;
  line-height: 16px;
  text-align: center;
}
.news .list dt span.info {
  background: #00c0ff;
  color: #fff;
}
.news .list dt span.press {
  background: #ffde00;
  color: #000;
}
.news .list dt span.media {
  background: #fe5d5d;
  color: #fff;
}
.news .list dt span.aword {
  background: #0fba6b;
  color: #000;
}
.news .list dd a {
  background: url(../../imgs/ico_03.png) no-repeat 0 5px;
  color: #000;
  font-size: 14px;
  line-height: 18px;
  text-decoration: none;
  display:block;
}

@media screen and (max-width: 768px) {
  .news {
    padding: 0 0 30px;
  }
  .news h2 {
    height: 32px;
    background-size: auto 32px;
  }
  .news h2 img {
    top: 8px;
    left: 14px;
    width: auto;
    height: 12px;
  }
  .news .list {
    margin: 14px 0 32px;
  }
  .news .list dl {
    margin: 0 5% 14px;
  }
  .news .list dt {
    font-weight: bold;
  }
  .news .list dt span {
    position: relative;
    top: -3px;
    margin: 0 0 0 8px;
  }
  .news .list dd a {
    padding: 0 0 0 16px;
    font-size:12px;
  }
  .news .list .btn-list {
    margin: 0 5%;
    padding: 9px 0 11px;
    background: #f2f2f2;
    border: 1px solid #e6e6e6;
    text-align: center;
  }
  .news .list .btn-list a {
    display: block;
    width: 100%;
    height: 18px;
    background: url(../../imgs/ico_04.png) no-repeat 100% 50%;
    background-size: 18px 18px;
    color: #000;
    font-size: 12px;
    font-style: italic;
    font-weight: bold;
    line-height: 18px;
    text-decoration: none;
  }
  .news .list .btn-more {
    display: none;
  }
  .news .bnr {
    width: 100%;
    overflow: hidden;
  }
  .news .bnr ul {
    width: 100%;
    padding: 0 5%;
    display: inline-block;
    display: block;
  }
  .news .bnr ul:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  * html .news .bnr ul {
    height: 1%;
  }
  .news .bnr ul li {
    float: left;
    width: 43.125%;
    margin: 0 0 0 3.75%;
  }
  .news .bnr ul li:first-child {
    margin: 0;
  }
  .news .bnr ul li img {
    width: 100%;
  }
  
 .news .bnr dl{
  border:1px solid #f2f2f2;
  margin-right:0;
  margin:3%;
  border-radius:5px;
  text-align:center;
  padding:2% 1%;
  }
.news .bnr dt{
	display:none;
	}
.news .bnr dd{
	font-size:10px;
	margin:0;
	border-right:#aaaaaa solid 1px;
	width:24%;
	display:inline-block;
	box-sizing:border-box;
 	}
 .news .bnr dd:last-child{
 border:none;
 }	
 	
.news .bnr dd a{
	padding:5px 3px 5px 1px;
	display:block;
	background: none;
	text-decoration:none;
	color:#000;
	box-sizing:border-box;
	} 
 
  
  
}
@media print, screen and (min-width: 769px) {
  .news {
    margin: 0 0 64px;
    display: inline-block;
    display: block;
  }
  .news:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  * html .news {
    height: 1%;
  }
  .news h2 {
    height: 64px;
  }
  .news h2 img {
    top: 24px;
    left: 28px;
  }
  .news .list {
    float: left;
    margin: 62px 0 0;
    padding: 0 0 0 20px;
  }
  .news .list dl {
    margin: 0 0 22px;
    display: inline-block;
    display: block;
  }
  .news .list dl:after {
    content: ".";
    display: block;
    clear: both;
    height: 0;
    visibility: hidden;
  }
  * html .news .list dl {
    height: 1%;
  }
  .news .list dt, .news .list dd {
    float: left;
  }
  .news .list dt {
    width: 258px;
  }
  .news .list dt span {
    margin: 0 0 0 15px;
  }
  .news .list dd {
    width: 660px;
  }
  .news .list dd a {
    padding: 0 0 0 27px;
  }
  .news .list dd a:hover {
    text-decoration: underline;
  }
  .news .list p {
    text-align: right;
  }
  .news .list .btn-list {
    display: none;
  }
  .news .bnr {
    float: right;
    width: 318px;
    padding-top:50px;
  }
  
 .news .bnr dl{
  border:2px solid #f2f2f2;
  margin-right:10%;
  }
.news .bnr dt{
	font-size:14px;
	font-family:arial;
	font-style:italic;
	font-weight:bold;
	background:#f2f2f2;
	padding:6px 0;
	text-align:center;
	}
.news .bnr dd{
	font-size:12px;
	margin:0 15px;
	border-bottom:#aaaaaa solid 1px;
 	}
 .news .bnr dd:last-child{
 border:none;
 }	
 	
.news .bnr dd a{
	padding:22px;
	display:block;
	background: url(../../imgs/ico_03.png) no-repeat 96% 50%;
	text-decoration:none;
	color:#000;
	} 
.news .bnr dd span{
	padding:22px;
	display:block;
	background: url(/imgs/ico_03.png) no-repeat 96% 50%;
	text-decoration:none;
	color:#999;
	} 

}
