@charset "utf-8";


/*=======================================================================

TOPページ (top.css)

========================================================================*/
html {
  overflow-y: inherit;
}
body {
  width: 100vw;
  overflow-x: hidden;
  margin: 0;
}
.container {
  width: 100vw;
  height: auto;
  position: relative;
}
.container #header {
  min-height: auto;
  background: none;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#header h1 a {
  color: #333 !important;
}
.container h2 {
  margin: 200px 0 0 25px;
  color: #fff;
  font-family: "ＭＳ Ｐ明朝", "MS PMincho","ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
	font-size: 40px;
  font-size: 4.0rem;
  font-style: italic;
  font-weight: bold;
  letter-spacing: 0.2em;
  line-height: 1.9;
  text-align: left;
  text-shadow: 0 3px 3px rgba(0,0,0,0.4);
  z-index: 9999;
}
.container h2 span {
  border-bottom: 1px solid #00a0e3;
	font-size: 40px;
  font-size: 4.0rem;
}
#mvMovie {
  width: 100%;
  width: 100vw;
  height: auto;
}

/*----------------------------------------------------------------------
 Nav
----------------------------------------------------------------------*/
#menu li a,
#menu li a:hover {
  color: #333;
}
/* ホバーエフェクト用 */
#menu li.hover a::after {
  background: #333;
}
#menu li.active a,
#menu li.active a::after {
  background: #0f69b4;
}

/*----------------------------------------------------------------------
 Contents
----------------------------------------------------------------------*/
#content {
  padding-top: 70px;
}
#content .catch {
  display: none;
}
#content h2 {
	margin: 0;
  color: #333;
	font-size: 28px;
  font-size: 2.8rem;
  font-style: normal;
  text-align: center;
  line-height: 0.9;
}
#content h2 span {
  border-bottom: 0;
  color: #00a0e3;
	font-size: 14px;
  font-size: 1.4rem;
}

/* News */
#content .newsTop ul {
	width: 1000px;
	margin: 30px auto 40px;
	border-top: 2px solid #00a0e3;
  padding-top: 20px;
	text-align: left;
}
#content .newsTop ul a {
	display: block;
}
#content .newsTop ul a:hover {
	opacity: 0.6;
}
#content .newsTop ul li {
	border-bottom: 1px solid #ddd;
	position: relative;
}
#content .newsTop ul dl{
	padding: 15px 20px 20px;
}
#content .newsTop ul dl dt,
#content .newsTop ul dl dd {
	float: left;
}
#content .newsTop ul dl dt {
	color: #00a0e3;
	letter-spacing: 0.1em;
	font-size: 16px;
	font-size: 1.6rem;
  font-style: italic;
	width: 8em;
}
#content .newsTop ul dl dd {
	font-size: 16px;
	font-size: 1.6rem;
	color: #333;
	width: 41em;
  margin-bottom: 0;
}
#content .newsTop li a {
  display: block;
}
#content .newsTop li a::before {
  content: '';
  width: 14px;
  height: 14px;
  border: 0px;
  border-top: solid 1px #999;
  border-right: solid 1px #999;
  -ms-transform: rotate(45deg);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  top: 43%;
  right: 15px;
  margin-top: -7px;
}
#content .newsTop li a:after {
  content: "";
  display: block;
  clear: both;
}
#content .newsTop li img {
  margin-top: 2px;
  vertical-align: top;
}

#content .backnumber {
  display: inline-block;
  margin: 0 auto 110px;
}
#content .backnumber a {
  display: block;
  padding: 10px 100px;
  background-color: #fff;
  background-size: 200% 100%;
  background-image: -webkit-linear-gradient(left, transparent 50%, #3bafda 50%);
  background-image: linear-gradient(to right, transparent 50%, #3bafda 50%);
  -webkit-transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
  transition: background-position .3s cubic-bezier(0.19, 1, 0.22, 1) .1s, color .5s ease 0s, background-color .5s ease;
  border: 1px solid #0d6ebd;
  border-radius: 100px;
  color: #0d6ebd;
  text-align: center;
  text-decoration: none;
}
#content .backnumber a:hover {
  background-color: #3bafda;
  background-position: -100% 100%;
  border: 1px solid #3bafda;
  color: #fff;
  opacity: 1;
}



/* Banner */
.bannerNav {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap:wrap;
  flex-wrap:wrap;
  -webkit-justify-content: center;
  justify-content: center;
  margin-bottom: 50px;
}
.bannerBox {
  position: relative;
  width: 50%;
  height: 300px;
  overflow: hidden;
}
.bgImg {
  position: absolute;
  width: 100%;
  height: 100%;
  transition: all 0.3s ease-out;
  transform: matrix3d( 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1 );
  will-change: transform;
}
.bgImg.companyBnr {
  background: url(../images/banner_company.jpg) center center no-repeat;
  background-size: cover;
}
.bgImg.newsBnr {
  background: url(../images/banner_news.jpg) center center no-repeat;
  background-size: cover;
}
.bgImg.productsBnr {
  background: url(../images/banner_products.jpg) center center no-repeat;
  background-size: cover;
}
.bgImg.recruitBnr {
  background: url(../images/banner_recruit.jpg) center center no-repeat;
  background-size: cover;
}
.bgImg:hover {
  transform: matrix3d( 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0.9 );
}
.bgImg div {
  width: 100%;
  height: 100%;
  background-color: rgba(0,0,0,0.1);
  /*background-color: rgba(0,130,180,0.5);*/
}
.bgImg div:hover {
  background-color: rgba(0,0,0,0.5);
}
.entryTitle {
  position: absolute;
  pointer-events: none;
  width: 100%;
  height: 300px;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1;
}
.entryTitle span {
  margin: 0;
  padding: 20px 70px;
  background-color: rgba(0,160,227,0.8);
  color: #fff;
  font-size: 22px;
  font-size: 2.2rem;
  text-shadow: 0 1px 1px rgba(0,0,0,0.5);
}




/*----------------------------------------------------------------------
 Responsive css
----------------------------------------------------------------------*/
@media screen and (max-width: 1220px) {
  #content .inner {
    width: 100%;
  }
  #content .newsTop ul {
    width: 94%;
    margin: auto auto 30px;
  }
  #content .newsTop ul dl{
    padding: 15px;
  }
  #content .backnumber {
    margin-bottom: 60px;
  }
}

@media screen and (max-width: 960px){
  #header {
    padding-top: 0px;
  }
  .container {
    padding-top: 59px;
  }
  .container h2 {
    display: none;
  }

  /* content */
  #content {
    padding-top: 10px;
  }
  #content h2 {
    margin-bottom: 15px;
  }
  #content .catch {
    display: inherit;
    margin-bottom: 50px;
    font-size: 20px;
    font-size: 2.0rem;
    font-style: italic;
    letter-spacing: 0.1em;
    line-height: 1.8;
    text-align: center;
  }
  #content .catch span {
    border-bottom: 1px solid #00a0e3;
  }
  #content .newsTop ul dl dt,
  #content .newsTop ul dl dd {
    float: none;
  }
  #content .newsTop ul dl dt {
    width: 100%;
  }
  #content .newsTop ul dl dd {
    width: 94%;
  }
  #content .newsTop ul li {
    margin-bottom: 0;
  }
  .bannerBox,
  .entryTitle {
    height: 250px;
  }
}

@media screen and (max-width: 767px){
  #content .newsTop ul {
    width: 100%;
  }
  #content .newsTop ul dl dd {
    width: 96%;
  }
}

@media screen and (max-width : 480px) {
  /* News */
  #content .backnumber a {
    padding: 10px 50px;
  }
  /* content */
  .bannerNav {
    display: inherit;
  }
  .bannerBox {
    width: 100%;
    height: 180px;
  }
  .entryTitle {
    height: 180px;
  }
}