@charset "utf-8";

#container {
	width: 100%;
}

/* loader
--------------------------- */
#loader-bg {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  background: #FFF;
  z-index: 1;
}
#loader {
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #000;
  z-index: 2;
}

/* fullSlideShow
--------------------------- */
.fullSlideShow {
	width: 100%;
	text-align: left;
	position: relative;
	overflow: hidden;
}
.fullSlideShow ul {
	top: 50%;
	left: 50%;
	width: 100%;
	position: fixed; /* absolute or fixed */
	overflow: hidden;
}
.fullSlideShow ul li {
	top: 0;
	left: 0;
	width: 100%;
	display: none;
	position: absolute;
}
.fullSlideShow ul li img {
	width: 100%;
}

.logo{
    position: absolute;
    right: 20px;
    top: 20px;
    z-index: 2;
    width: 70px;
    height: auto;
}

/*
.fullSlideShow .logo,.company .logo{
	display: block;
}
*/

.logo span{
	width: 100%;
	height: 70px;
	display: block;
	background-image: url('../img/logo.jpg');
	background-position: center center;
	background-size: cover;
	
}

.logo a{
	float: left;
	color: white;
	font-size:  16px;
	margin-top: 4px;
}
.logo a.jp{
	color: #add8e6;
}

.logo p{
	float: left;
	margin: 0 10px;
	color: white;
	margin-top: 3px;
}

nav{
	position: relative;
    height: 101%;
	width: 80px;
	z-index: 999;
}

nav a {
	position: absolute;
	height: 100%;
	background: rgba(255,255,255,1);
	width: 80px;
	text-align: center;
	display: block;
}

nav p{
	font-family: 'Open Sans', sans-serif;
}

.mainMenu{
	position: fixed;
	padding: 0 20px;
	top: 45%;
	font-size: 32px;
	-webkit-transform: translate3d(0,0,0);
}

.menuIcon{
    font-size: 50px;
    font-weight: 300;
    display: block;
}

.menuText{
	font-size: 12px;	
	font-weight: 600;
}

.topMainTitle{
	position: absolute;
	top: 30%;
	right: 19%;
    font-size: 48px;
    font-family: 'Open Sans', sans-serif;
	font-weight: 700;
    line-height: 1;
    color: #fff;
    text-shadow: 1px 1px 11px rgba(0,0,0,0.25);
    z-index: 9999;
}

.topMainTitle img{
	right: 22px;
	position: absolute;
	top: -52px;
	width: 165px;
}

.topMainDescription{
    font-family: 'Noto Sans Japanese';	
    font-size: 16px;
  	font-weight: 400;
    display: block;
    margin-top: 20px;
    border-top: 3px solid #add8e6;
    padding-top: 18px;
    line-height: 1.9;
}




/* SideNavi
------------------------- */
.fullSlideShow .btnPrev,
.fullSlideShow .btnNext {
    margin-top: -25px;
    top: 50%;
    width: 50px;
    height: 50px;
    position: fixed; /* absolute or fixed */
    z-index: 105;
}
.fullSlideShow .btnPrev {
    left: 10px;
    background: transparent url(../img/btnPrev.png) no-repeat center center;
}
.fullSlideShow .btnNext {
    right: 10px;
    background: transparent url(../img/btnNext.png) no-repeat center center;
}


/* PagiNation
--------------------------- */
.pagiNation {
	display: none;
	bottom: 30px;
	left: 0;
	width: 100%;
	height: 15px;
	text-align: center;
	position: fixed; /* absolute or fixed */
	z-index: 110; /* 非表示にする場合は「90」以下に */
 	visibility: visible; /* 非表示にする場合は「hidden」に */
}

.pagiNation a {
	margin: 0 5px;
	width: 20px;
	height: 20px;
	display: inline-block;
	overflow: hidden;
	background: #000;
}
.pagiNation a.pnActive {
	filter:alpha(opacity=100)!important;
	-moz-opacity: 1!important;
	opacity: 1!important;
}

.sidebar{
position: fixed;
color: #fff; /* 好みに応じて調節してください */
}

.sidebar.left {
  top: 0;
  left: 0;
  bottom: 0;
  width: 200px; /*この値は調節してください。*/
  z-index: 9999;
  background: rgba(55, 68, 253, 0.7);
}

.sidebar.right {
  top: 0;
  right: 0;
  bottom: 0;
  width: 100px;
  background: rgba(55, 68, 253, 0.7);
}

.sidebar.top {
  left: 0;
  right: 0;
  top: 0;
  height: 370px;
  background: rgba(55, 68, 253, 0.7);
}

.sidebar.bottom {
  left: 0;
  right: 0;
  bottom: 0;
  height: 370px;
  background: rgba(55, 68, 253, 0.7);
}

.sidebarClose{
    position: relative;
    height: 100%;
    width: 80px;
    text-align: center;
    background: #add8e6;
}

.sidebarClose a{
    color: #fff;
}

.sidebarMenu{
    position: absolute;
    height: 100%;
    width: 250px;
    margin: 50px 20px;
    left: 80px;
    top: 0;
}

.sidebarMenu a{
    font-size: 24px;
    font-family: 'Open Sans', sans-serif;
    line-height: 1;
    position: relative;
    color: #fff;
    margin-bottom: 25px;
    display: block;
    font-weight: 700;
}

.sidebarMenu a span{
    font-family: 'Noto Sans Japanese';
    font-weight: normal;
	display: block;
	font-size: 16px;
	margin-top: 5px;
}

/* =======================================
	ClearFixElements
======================================= */
.fullSlideShow ul:after {
	content: ".";
	height: 0;
	clear: both;
	display: block;
	visibility: hidden;
}
.fullSlideShow ul {
	display: inline-block;
	overflow: hidden;
}


/* =======================================
　　mainContent
======================================= */

.topNewsList{
    margin: 40px 0;
}

.topNewsList ul{
	display: table;
	width: 100%;
}

.topNewsList ul li{
	display: table-cell;
	width: 25%;
	text-align: center;
}

.topNewsList ul li p{
	padding: 0 15px;
	font-size: 14px;
	margin: 25px auto;
	width: 200px;
}

.topNewsListPhoto{
	width: 200px;
	height: 200px;
	padding: 0px !important;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

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

.topNewsListTitle{
    font-family: 'Noto Sans Japanese';
    font-size:  16px;
	font-weight: 500;
	font-size: 15px;
	margin-top: 20px;
}

.topNewsListDate{
    font-family: 'Noto Sans Japanese';
    font-weight: bold;
	font-weight: 500;
}


@media screen and (max-width: 1200px){
  .topNewsList ul li p {
    width: 150px;
  }
}
@media screen and (max-width: 900px){
	.topNewsList ul li {
	    width: 50%;
	    display: inline;
	    float: left;
	}
  .topNewsList ul li p {
    width: 200px;
  }
}

.moreLeft{
	text-align: left;
	display: flex;
	display: -webkit-flex;
}

.moreRightTitle{
	position: absolute;
	right: 0;
	top: 0;
	text-align: right;
}

.serviceArea{
	position: relative;
	height: 150px;
}
.serviceArea .moreRightTitle{
	left: 50%;
	top: 50px;
	text-align: left;
}


.circleArrow {
    background: #add8e6;
    width: 58px;
    height: 58px;
    border-radius: 50%;
    float: left;
    margin-right: 30px;
}

.circleArrow p {
    color: white;
    text-align: center;
    font-size: 35px;
    line-height: 55px;
    padding: 0;
}

.more span{
    font-family: 'Open Sans', sans-serif;
	font-weight: 700;
    font-size: 42px;
    display: inline-block;
    border: none;
    margin: 0;
    margin-top: 10px;
	line-height: inherit;
    padding-right: 0;
}

.more .text {
    float: right;
    clear: both;
    margin-top: -15px;
    font-weight: 300;
	padding: 0;
    padding-right: 5px;
    font-size: 16px;
}

.moreRightTitle .more .text {
	float: right;
}

.strengthArea{
	margin-top: 40px;
}

.strengthArea ul{
	display: table;
	table-layout: fixed;
	width:100%;
}

.strengthArea ul li{
	display: table-cell;
	vertical-align: middle;
}

.strengthArea ul li:first-child{
	width: 40%;
	padding-right: 5%;
	font-size: 16px;
	line-height: 30px;
}

.strengthArea ul li:last-child{
	width: 55%;
}

.strengthArea ul li:last-child img{
	width: 100%;
	border: 1px solid #add8e6;
}

.strengthArea h3{
	font-family: 'Noto Sans Japanese';
	font-weight: 500;
	color: #add8e6;
	font-size: 20px;
	margin-bottom: 10px;
}

.strengthArea {
	font-size: 14px;
}

.strengthArea span{
	margin-top: 10px;
	font-size: 12px;
}


@media screen and (max-width:1200px){
  .top_strength .moreRightTitle {
    top: 110px;
  }
  .strengthArea {
    margin-top: 120px;
  }
}


.serviceaSlideArea ul{
	width: 100%;
}

/*
.serviceaSlideArea ul.bxslider:first-of-type li[aria-hidden="false"]{
	width: 760px !important;
}
*/

/*
.bxslider:first-of-type li[aria-hidden="false"] {
	width: 760px !important;
}
*/

.serviceaSlideArea ul li{
/*
	width: 25%;
	float: left;
	padding-top: 10%;
	margin-right: 30px;
*/
}

.serviceaSlideArea ul li img{
	width: 100%;
	height: auto;
}

.serviceaSlideArea ul li p {
	font-size: 20px;
	margin: 30px 0;
}

.companyArea{
	margin-top: 40px;
}

.companyArea ul{
	display: table;
	table-layout: fixed;
	width:100%;
}

.companyArea ul li{
	display: table-cell;
	vertical-align: middle;
	font-size: 16px;
	line-height: 30px;
}

.companyArea ul li:first-child{
	width: 45%;
}

.companyArea ul li:last-child{
	width: 40%;
	padding-left: 15%;
}

.companyArea ul li:first-child img{
	width: 100%;
}

.companyArea h3{
	font-family: 'Noto Sans Japanese';
	font-weight: 500;
	color: #add8e6;
	font-size:  16px;
	margin-bottom: 10px;
	font-size: 22px;
}

.companyArea {
	font-size: 14px;
}

.companyArea span{
	margin-top: 10px;
	font-size: 12px;
}

.companyMore{
	margin-top: 30px;
	display: flex;
}

.companyMore span{
    font-family: 'Open Sans', sans-serif;
    font-size: 42px;
    display: inline-block;
    border: none;
    margin: 0;
    margin-top: 10px;
	line-height: inherit;
    padding-right: 0;
    font-weight: 700;
}
@media screen and (max-width:1200px){
  .serviceArea {
    height: 200px;
  }
  .top_service .moreRightTitle {
    top: 110px;
  }
  .strengthArea {
    margin-top: 120px;
  }
}
@media screen and (max-width:1400px){
  .companyMore span {
    font-size: 36px;
  }
  .companyArea ul li:last-child {
    padding-left: 30px;
  }
}
@media screen and (max-width:960px){
  .companyArea ul li:first-child {
    width: -webkit-calc(95% - 380px);
    width: calc(95% - 380px);
  }
  .companyArea ul li:last-child {
    width: 350px;
  }
}
@media screen and (max-width:710px){
  .top_service .moreRightTitle {
    left: auto;
    right: 0; 
  }
}

.careerTopList ul{
	display: table;
	width: 100%;
}

.careerTopList li{
	vertical-align: bottom;
	display: table-cell;
	width: 40%;
	padding-right: 5%;
	padding-bottom: 5%;
}

.careerTopList li:last-child{
	width: 55%;
	padding-right: 0;
}

.careerSize55{width: 55% !important;}
.careerSize40{width: 40% !important;}
.careerSize50{width: 50% !important;}
.careerSize45{width: 45% !important;}


.careersPhoto img{
	width: 100%;
}

.careersText{
    margin-top: 15px;
	position: relative;
}

.careersText h3{
    font-size: 24px;
    font-weight: 700;
    font-family: 'Open Sans', sans-serif;
    line-height: 1;
}

.careersText h3 a{
	color: #333;
}

.careersText h3 span{
    font-family: 'Noto Sans Japanese';	
  	font-weight: 400;
	font-size:  16px;
	display: block;
	position: relative;
	margin-top: 30px;
	line-height: 1;
}

.careersText h3 span::after {
	position: absolute;
	top: -15px;
	left: 0;
	z-index: 2;
	content: '';
	width: 10px;
	height: 4px;
	background-color: #add8e6;
}

.careersText span{
    position: absolute;
    right: 0;
    top: 50%;
    font-size: 24px;
    line-height: 50px;
    margin-top: -25px;
}

.careerTopMore{
	width: 300px;
	margin: 50px auto 150px;
}

.careerTopMore .companyMore span{
	float: right;
}

/* floatTitle */
.floatTitle.float-type-1{
    display: inline-block;
}

.floatTitle.float-type-2{
    display: block;
}

.floatTitle *,
.floatTitle *:after,
.floatTitle *:before{
    -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);
    transition: all .5s ease-in-out; -webkit-transition: all .5s ease-in-out;
}

.more.floatTitle.float-type-1:hover .circleArrow{
    -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0);
}

.careerTopList li a:hover span{
    -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);
}

.careerTopList li a:hover .text{
    -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0);
}

.careerTopList li a:hover h3{
    -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0);
}

/*
.careerTopList li a:hover h3 p{
    -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0);
}
*/

/*
.careerTopList li a:hover h3 span{
    -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0);
}

.careerTopList li a:hover h3 span:after{
    -webkit-transform: translate3d(0, 0, 0); transform: translate3d(0, 0, 0);
}
*/

.more.floatTitle.float-type-1:hover span{
    -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0);
}

.more.floatTitle.float-type-1:hover span + p{
    -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0);
}

.serviceList li a:hover .moreLeftTitle,.serviceList li a:hover .moreRightTitle{
    -webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0);
}

.serviceList li a .moreLeftTitle,.serviceList li a .moreRightTitle{
	 transition: all .5s ease-in-out; -webkit-transition: all .5s ease-in-out;
}

.applicationImg .more.floatTitle{
	transition: all .5s ease-in-out; -webkit-transition: all .5s ease-in-out;
}

.applicationImg:hover .more.floatTitle{
	-webkit-transform: translate3d(50px, 0, 0); transform: translate3d(50px, 0, 0);
	
}

.floatImg{
    position: relative;
    top: 0;
    transition: all .3s ease-out; -webkit-transition: all .3s ease-out;
    display: block;
}

.bg1{
    transition: all .3s ease-out; -webkit-transition: all .3s ease-out;
}
/* /floatTitle */

.scrollBtnArea{
	position: absolute;
	bottom: 20px;
	right: 0;
	left: 0;
	text-align: center;
	z-index: 150;
}
.scrollBtnArea a{
	display: inline-block;
}
.scrollBtnArea a:hover{
	opacity: 0.8;
}

.bxslider_top{
	display: none;
}

.showStyle a {
    -webkit-justify-content: flex-end;
    justify-content: flex-end;
    text-align: right;
}

.showStyle {
    display: flex;
    display: -webkit-flex;
}

.showStyle span {
    font-family: 'Open Sans', sans-serif;
    font-size: 42px;
    display: flex;
    display: -webkit-flex;
    border: none;
    margin: 0;
    margin-top: 10px;
    line-height: inherit;
    padding-right: 0;
    font-weight: 700;
}

.showAll a {
    width: 270px;
}

.detail a {
    width: 340px;
}

.archives a {
    width: 270px;
}