@charset "utf-8";

@media screen and (max-width: 750px) {
  h2 {
    text-align: center;
    text-transform: uppercase;
  }
  h2 b {
    font-size: 34px;
  }
  h2 span {
    display: block;
    font-size: 13px;
    font-weight: normal;
  }
	/* -----------------------------------------------------------------------------

		MV

	----------------------------------------------------------------------------- */
	#mv {
		height: -webkit-calc( 100vh - 70px );
		height: -moz-calc( 100vh - 70px );
		height: calc( 100vh - 70px );
		position: relative;
		background: #76caef url('../img/img_mv01_sp.png') center top;
		background-size: cover;
	}
	#mv .ttl {
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 0;
		right: 0;
		margin: auto;
		text-align: center;
		transform: translateY(-50%);
		-moz-transform: translateY(-50%);
		-webkit-transform: translateY(-50%);
	}
	#mv .ttl {
		max-width: 45%;
	}
	#mv .mvTtl {
		position: absolute;
		z-index: 2;
		top: 6%;
		left: 0;
		right: 0;
		text-align: center;
		text-align: center;
		color: #fff;
		opacity:0;
		/*-moz-animation: textMotion01 0.6s 2.2s cubic-bezier(0.215, 0.61, 0.355, 1) both;
		-webkit-animation: textMotion01 0.6s 2.2s cubic-bezier(0.215, 0.61, 0.355, 1) both;
		animation: textMotion01 0.6s 2.2s cubic-bezier(0.215, 0.61, 0.355, 1) both;*/
	}
	#mv .mvTtl b img{
		max-width: 45%;
    	margin-bottom: 25px;
	}
	#mv .mvTtl h2 b{
		font-size: 18px;
		color: #fff;
	}
	#mv .mvTtl h2 b span{
		color: #0099cc;
		font-weight: bold;
		display: inline-block;
		font-size: 22px;
	}
	#mv .scrollButton{
		background: url('../img/icon_scroll_sp.png')no-repeat center center;
		display: block;
		width: 42px;
		height: 36px;
		margin: 0 auto;
		position: absolute;
		bottom: 10px;
		left: 0;
		right: 0;
		-webkit-transition: all 1.5s;
		-moz-transition: all 1.5s;
		-o-transition: all 1.5s;
		transition: all 1.5s;
		-moz-animation: bounce 4s infinite;
		-webkit-animation: bounce 4s infinite;
		animation: bounce 4s infinite;
		background-size: 100%;
		z-index: 100;
		opacity: 0;

	}
	/* -----------------------------------------------------------------------------

	  	NEWS

	  ----------------------------------------------------------------------------- */
	#news{
		color: #fff;
		position: relative;
		opacity: 0;
		z-index: 1;
		/* display: none; */
		height: 55px;
		height: 170px;
	}
	#news.animation01{
		opacity: 1;
		-moz-animation: fadeInUp 0.6s 0.1s cubic-bezier(0.215, 0.61, 0.355, 1) both;
		-webkit-animation: fadeInUp 0.6s 0.1s cubic-bezier(0.215, 0.61, 0.355, 1) both;
		animation: fadeInUp 0.6s 0.1s cubic-bezier(0.215, 0.61, 0.355, 1) both;
	}
	#news .inner{
		background: #2A3338;
		position: absolute;
		width: 100%;
		top: 0;
	}
	#news .inner h2{
		float: left;
		display: block;
		width: 12%;
		text-align: center;
		padding: 10px;
		box-sizing: border-box;
		margin: 10px 0 0;
		font-size: 12px;
	}
	#news .inner h2 b{
		font-size: 12px;
		color: #fff;
	}
	#news .inner .newsContent{
		float: left;
		width: 79%;
		padding: 10px 20px 0 20px;
		box-sizing: border-box;
		position: relative;
	}
	#news .inner .newsContent:after{
		position: absolute;
		top: 10px;
		height: 65%;
		height: calc( 100% - 20px );
		width: 1px;
		background: #fff;
		left: 0;
		content: '';
	}
	#news .inner .newsContent .lead{
		font-size: 12px;
		color: #fff;
	}
	#news .inner .newsContent .date{
		font-size: 10px;
		color: #999;
	}
	#news .inner .newsContent a.toggleNews{
    width: 24px;
    height: 24px;
    display: inline-block;
    position: absolute;
    background: url('../common/img/icon_plus_w.svg') no-repeat right #009de4;
    right: -8%;
    top: 16px;
    background-size: 100%;
	}
	#news .inner .newsContent .newsDetail {
		overflow: hidden;
	}
	#news .inner .newsContent .newsDetail li:nth-child(n+3) {
		display: none;
	}
	#news .inner .newsContent.active a.toggleNews{
		background: url('../common/img/icon_minus_w.png') no-repeat right #009de4;
		background-size: 100%;
	}
	#news .inner .newsContent #holder .lead {
	  white-space: nowrap;
	  overflow: hidden;
	  text-overflow: ellipsis;
	}
	#news .inner .newsContent.active #holder .lead {
		text-overflow: unset;
		white-space: unset;
	}
	#news .inner ul li {
		padding: 15px 0;
		border-top: 1px dotted #95a9b1;
	}
	#news .inner ul li:first-child {
		border-top: 0;
		padding-top: 0;
	}
	/* -----------------------------------------------------------------------------

		container

	----------------------------------------------------------------------------- */
	#container section h2 {
		text-align: center;
	}
	#container section h2 b {
		font-family: 'Catamaran', sans-serif;
		font-size: 34px;
		line-height: 1;
		text-transform: uppercase;
	}
	#container section h2 b span{
		display: inline-block;
	}
	#container section h2 span {
		font-size: 14px;
		font-weight: normal;
		display: block;
	}
	/* -----------------------------------------------------------------------------

	  	realize

	  ----------------------------------------------------------------------------- */
	 #realize{
		text-align: center;
		position: relative;
	 }
	 #realize .bgSection{
	 	background: url('../img/bg_realize.png')no-repeat bottom;
		background-size: cover;
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
	 }
	#realize.animation01 .bgSection {
	}
	 #realize.animation01 h2, #realize.animation01 p{
	 	opacity: 1;
	 }

	#realize .inner{
		padding: 50px 15px;
		position: relative;
		opacity: 0;
	}
	#realize.animation01 .inner {
		transform: translateY(100px);
		-moz-transform: translateY(100px);
		-webkit-transform: translateY(100px);
	 }
	 #realize.animation01 .inner.show {
		transform: translateY(0);
		-moz-transform: translateY(0);
		-webkit-transform: translateY(0);
		transition: all 0.6s;
		-moz-transition: all 0.6s;
		-webkit-transition: all 0.6s;
		 opacity: 1;
	 }
	 #realize.animation01 .inner.show h2,
	#realize.animation01 .inner.show .lead {
		opacity: 1;
	 }
	#realize .inner h2{
		text-transform: inherit;
		font-size: 22px;
	  margin-bottom: 10px;
	  opacity: 1;
	}
	#realize .inner h2 b{
		font-size: 35px;
		text-transform: inherit;
		letter-spacing: 0.05em;
	}
	#realize .inner h2 b span{
		font-size: 35px;
		color: #0099cc;
		font-weight: bold;
	}
	#realize .inner .lead{
		margin-bottom: 18px;
		text-shadow:0 0 0;
		opacity: 1;
		font-size: 15px;
	}
	#realize .inner .lead:nth-child(3){
		margin-bottom: 0;
	}
	/* -----------------------------------------------------------------------------

	    recruit

	  ----------------------------------------------------------------------------- */
	#recruit {
		position: relative;
		padding: 50px 0 30px 0;
	}
	#recruit .bgSection{
		background: #E8F3F7;
		width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
		-moz-transform: translate(-100%, 0);
		-webkit-transform: translate(-100%, 0);
		transform: translate(-100%, 0);
		-moz-transition: all 0.9s 0.1s cubic-bezier(0.77, 0, 0.175, 1);
		-webkit-transition: all 0.9s 0.1s cubic-bezier(0.77, 0, 0.175, 1);
		transition: all 0.9s 0.1s cubic-bezier(0.77, 0, 0.175, 1);
	}
	#recruit.animation01 .bgSection {
		-moz-transform: translate(0, 0);
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	#recruit .inner h2{
		margin-bottom: 35px;
		opacity: 0;
	}
	#recruit.animation01 .inner h2{
		-webkit-animation: textMotion01 0.6s 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) both;
		animation: textMotion01 0.6s 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) both;
	}
	#recruit .inner h2 span{
		color: #0099cc;
	}
	#recruit .inner ul{
		margin: 0 5px;
	}
	#recruit .inner ul li{
		float: left;
		width: 50%;
		padding: 0 10px;
		box-sizing: border-box;
		opacity: 0;
		-webkit-transform: translate(0, 100px);
		-moz-transform: translate(0, 100px);
		-ms-transform: translate(0, 100px);
		-o-transform: translate(0, 100px);
		transform: translate(0, 100px);
		-webkit-transition: all 0.4s .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		-moz-transition: all 0.4s .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		-ms-transition: all 0.4s .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		-o-transition: all 0.4s .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		transition: all 0.4s .3s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	#recruit .inner ul li.show {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	#recruit .inner ul li .itemRecruit{
		text-align: center;
		position: relative;
		padding-bottom: 25px;
		margin-bottom: 30px;
    	min-height: 280px;
	}
	#recruit .inner ul li .itemRecruit b{
		width: 80px;
		    display: block;
    margin: 0 auto;
	}
	#recruit .inner ul li .itemRecruit b img{
		position: relative;
		width: 100%;
	}
	#recruit .inner ul li .itemRecruit .bgRecruit{
		position: absolute;
		height: 80%;
		width: 100%;
		bottom: 0;
		background: #fff;
		box-shadow: 0 5px 20px 5px rgba(0, 0, 0, 0.05);
	}
	#recruit .inner ul li p{
		position: relative;
		font-size: 14px;
		padding: 10px;
		box-sizing: border-box;
		text-align: left;
	}
	#recruit .inner ul li .itemRecruit h3{
		margin-top: 25px;
		padding-bottom: 10px;
		position: relative;
		margin-bottom: 5px;
		font-size: 16px;
	}
	#recruit .inner ul li .itemRecruit h3::after{
		-moz-transition: all 0.5s ease;
		-o-transition: all 0.5s ease;
		-ms-transition: all 0.5s ease;
		transition: all 0.5s ease;
		position: absolute;
		content: '';
		left: 0;
		right: 0;
		width: 40px;
		height: 1px;
		background: #009DE4;
		margin: 0 auto;
		bottom: 0;
	}
	/*---------------------------------------------------

		 person

	---------------------------------------------------*/
	#person{
		padding: 50px 0;
	}
	#person h2{
		margin-bottom: 55px;
		opacity: 0;
	}
	#person.animation01 h2{
		-webkit-animation: textMotion01 0.6s 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) both;
		animation: textMotion01 0.6s 0.4s cubic-bezier(0.215, 0.61, 0.355, 1) both;
	}
	#person h2 span {
    	color: #0099cc;
	}
	#person ul{
		margin:15px;
	}
	#person ul li{
		position: relative;
	}
	#person ul li .imgPerson{
		padding-bottom: 100px;
	}
	#person ul li:hover img{
		opacity: 1;
		-webkit-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
	}
	#person ul li img{
		width: 100%;
		-webkit-transition: .5s ease-in-out;
		transition: .5s ease-in-out;
		background: #e6f2f3;
		padding: 20px 35px 0;
	}
	#person ul li .personContent{
		position: absolute;
		width: 90%;
		left: 0;
		right:0;
		margin: 0 auto;
		background: #fff;
		bottom: 0;
		padding: 25px 15px;
		margin-bottom: 0;
		opacity: 0;
		min-height: 158px;
		-webkit-transform: translate(0, 100px);
		-moz-transform: translate(0, 100px);
		-ms-transform: translate(0, 100px);
		-o-transform: translate(0, 100px);
		transform: translate(0, 100px);
		-webkit-transition: all 0.4s .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		-moz-transition: all 0.4s .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		-ms-transition: all 0.4s .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		-o-transition: all 0.4s .3s cubic-bezier(0.215, 0.61, 0.355, 1);
		transition: all 1s 1s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	#person ul li .personContent span{
		position: absolute;
		top: -15px;
		left: 40px;
		color: #fff;
		padding: 3px;
		width: 90px;
		text-align: center;
		font-size: 12px;
	}
	#person ul li .personContent .bgTech{
		background: #009DE4;
	}
	#person ul li .personContent .bgOffice{
		background: #bf4c67;
	}
	#person ul li .personContent h3{
		font-size: 16px;
		padding-bottom: 10px;
		position: relative;
		margin-bottom: 15px;

	}
	#person ul li .personContent h3::after{
		position: absolute;
		content: '';
		width: 100%;
		margin: 0 auto;
		left: 0;
		right: 0;
		bottom: 0;
		height: 1px;
		background: #ccc;
	}
	#person ul li .personContent h4{
		font-size: 14px;
	}
	#person ul li .personContent p{
		font-size: 12px;
	}
	#person .btn.show {
		opacity: 1;
		transform: scale(1);
		-moz-transform: scale(1);
		-webkit-transform: scale(1);
		width: 55%;
    	height: 40px;
	}
	#person .inner .btn {
		width: 220px;
		opacity: 0;
		transform: scale(0);
		-moz-transform: scale(0);
		-webkit-transform: scale(0);
		transition: all 1s;
		-moz-transition: all 1s;
		-webkit-transition: all 1s;
	}
	#person .btn a{
		background: transparent;
		color: #009DE4;
		border: 1px solid;
		height: 40px;
		line-height: 40px;
	}
	#person .btn a::after {
		top: 0;
		bottom: 0;
		margin: auto;
	}
	#person ul.show {
		opacity: 1;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
	}
	#person li::before {
		content: "";
		display: block;
		width: 100%;
		height: 100%;
		background: #fff;
		position: absolute;
		top: 0;
		right: 0;
		z-index: 10;
		-webkit-transition: all 1.5s cubic-bezier(0.215, 0.61, 0.355, 1);
		transition: all 1.5s cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	#person li.show::before {
		width: 0;
	}
	#person ul .show .personContent{
		opacity: 1;
		-webkit-transform: translate(0, 0);
		-moz-transform: translate(0, 0);
		-ms-transform: translate(0, 0);
		-o-transform: translate(0, 0);
		transform: translate(0, 0);
	}
/*---------------------------------------------------

	 animation

	---------------------------------------------------*/
  #company.animation02 .inner h2 {
    -webkit-animation: textMotion01 0.6s 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    -moz-animation: textMotion01 0.6s 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
    animation: textMotion01 0.6s 0.8s cubic-bezier(0.215, 0.61, 0.355, 1) forwards;
	}
	/*-----------------------------------------------------------------------

	#voice

	------------------------------------------------------------------------*/
	#voice {
		position: relative;
		overflow: hidden;
    background: url('../img/bg_voiceSp.jpg') no-repeat;
		background-size: cover;
	}
	#voice .inner {
		padding: 60px 0;
		overflow: hidden;
		z-index: 10;
		position: relative;
	}
	#voice .inner h2 {
		margin-bottom: 20px;
	}
	#voice .inner h2 b {
    font-size: 33px;
    color: #fff;
	text-shadow: 0px 0px 20px #003852;
 }
	#voice .inner h2 span {
		color: #fff;
		text-shadow: 0px 0px 20px #003852;
	}
	#voice .inner .lead {
		font-size: 16px;
		color: #fff;
		text-align: center;
		margin-bottom: 30px;
		font-weight: bold;
		text-shadow: 0px 0px 20px #003852;
	}
	#voice .inner .btn {
		width: 220px;
	}
	#voice .inner .btn a {
		text-transform: uppercase;
		border: 1px solid #fff;
		color: #fff;
		font-weight: bold;
		background-color: transparent;
	}
	#voice .inner .btn a::after {
		background: url('../common/img/arrow_right_w.svg') no-repeat;
	}
	/*-----------------------------------------------------------------------

	#COMPANY

	------------------------------------------------------------------------*/
	#company {
		position: relative;
		overflow: hidden;
	}
	#company .inner {
		padding: 45px 15px 10px;
	}
	#company .inner h2 {
		color: #293337;
		margin-bottom: 55px;
		opacity: 0;
	}
	#company .inner h2 span {
		color: #009de4;
	}
	#company .inner .companyItem {
		position: relative;
		overflow: hidden;
    opacity: 0;
    transform: translateY(100px);
    -moz-transform: translateY(100px);
    -webkit-transform: translateY(100px);
    transition: all .6s;
    -moz-transition: all .6s;
    -webkit-transition: all .6s;
    margin: 0 auto 45px;
    text-align: center;
	}
	#company .inner .companyItem.show {
    opacity: 1;
    transform: translateY(0);
    -moz-transform: translateY(0);
    -webkit-transform: translateY(0);
	}
	#company .inner .companyItem .companyItemImg {
		margin-bottom: 25px;
	}
	#company .inner .companyItem h3 {
		font-size: 16px;
		font-weight: bold;
		padding-bottom: 15px;
		margin-bottom: 15px;
		position: relative;
	}
	#company .inner .companyItemContent h3::after {
		content: '';
		position: absolute;
		background-color: #009de4;
		bottom: 0;
		left: 0;
		right: 0;
		margin: 0 auto;
		height: 1px;
		width: 30px;
	}
	#company .inner .companyItemContent p {
		font-size: 14px;
	}
	#company .inner .companyItemContent .btn {
		text-transform: uppercase;
		margin-top: 25px;
		width: 220px;
		height: 50px;
	}
	#company .inner .companyItemContent .btn a {
		color: #009de4;
		border: 1px solid #009de4;
	}
	/*-----------------------------------------------------------------------

	#activities

	------------------------------------------------------------------------*/
	#activities {
		background: #e4f4fc;
		padding: 50px 0;
	}
	#activities .ttl01 {
		text-align: center;
		line-height: 1;
		font-size: 100%;
		margin: 0 0 25px;
	}
	#activities .ttl01 b {
	}
	#activities .ttl01 span {
		color: #009de4;
	}
	#activities .inner {
		padding: 0;
	}
	#activities .slider figure {
		width: 240px;
		float: left;
		margin: 0 10px;
	}
	#activities .slider .slick-arrow {
		position: absolute;
		bottom: -10px;
		margin-top: 0;
		width: 36px;
		height: 36px;
		border: none;
		outline: none;
		text-indent: -9999px;
		z-index: 2;
	}
	#activities .slider .slick-arrow:hover {
		cursor: pointer;
	}
	#activities .slider .slick-prev {
		left: 50%;
		margin-left: -120px;
		background: url('../common/img/sp/icon_arrow_prev01.png') no-repeat;
		background-size: 36px;
	}
	#activities .slider .slick-next {
		right: 50%;
		margin-right: -120px;
		background: url('../common/img/sp/icon_arrow_next01.png') no-repeat;
		background-size: 36px;
	}
	#activities .slider .slick-disabled {
		opacity: 0;
	}
	#activities .slider ul.slick-dots {
		text-align: center;
		margin: 30px 0 0;
		font-size: 0;
	}
	#activities .slider ul.slick-dots li {
		display: inline-block;
		margin: 0 8px;
		width: 8px;
		height: 8px;
		border-radius: 4px;
		overflow:hidden;
	}
	#activities .slider ul.slick-dots li button {
		background: #baeaff;
		text-indent: -9999px;
		display: block;
		width: 8px;
		height: 8px;
		border-radius: 4px;
		border: none;
		outline: none;
	}
	#activities .slider ul.slick-dots li.slick-active {
		background: #009de4;
	}
	#activities .slider ul.slick-dots li.slick-active button {
		background: #009de4;
	}
	#activities .slider ul.slick-dots li button:hover {
		cursor: pointer;
	}
	/*-----------------------------------------------------------------------

	#ENTRY

	------------------------------------------------------------------------*/
	#entry {
		position: relative;
		overflow: hidden;
    background: url('../img/bg_entry.jpg') no-repeat;
    background-size: cover;
	}
	#entry .inner {
		padding: 45px 0;
		overflow: hidden;
		z-index: 10;
		position: relative;
	}
	#entry .inner h2 {
		color: #fff;
	}
	#entry .inner h2 b,
	#entry .inner h2 span {
		color: #fff;
	}
	#entry .inner .btnText {
		text-align: center;
		/*background-color: #ecfaff;*/
		position: relative;
		margin: 20px auto 0;
		width: 75%;
	}
	#entry .inner .btnText.show {
    transform: scale(1);
    -moz-transform: scale(1);
    -webkit-transform: scale(1);
    opacity: 1;
	}
	#entry .inner .btnText a {
		font-size: 17px;
		color: #009de4;
		font-weight: 500;
		line-height: 1.3;
		display: block;
		padding: 20px 45px 20px 20px;
		background-color: #ecfaff;
	}
	#entry .inner .btnText a:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		right: 40px;
		background: url('../common/img/arrow_right_blue.svg') no-repeat;
		width: 14px;
		height: 13px;
		transition: all 0.3s ease-in;
		-webkit-transition: all 0.3s ease-in;
		-moz-transition: all 0.3s ease-in;
	}
	#entry .inner .btnText span {
		font-size: 17px;
		color: #7EBCD8;
		font-weight: 500;
		line-height: 1.3;
		display: block;
		padding: 20px 45px 20px 20px;
		background-color: hsla(0,0%,0%,0.3);
	}
}
@media screen and (max-width: 480px) {
  #realize .inner .lead {
  	font-size: 14px;
  }
  #news .inner h2 {
  	width: 60px;
  }
  #news .inner .newsContent {
  	width: -webkit-calc( 90% - 60px );
  	width: -moz-calc( 90% - 60px );
  	width: calc( 90% - 60px );
  }
  #entry .inner .btnText {
  	width: 90%;
  }
  #entry .inner .btnText a {
  	font-size: 15px;
  }
  #entry .inner .btnText a:after {
  	right: 10%;
  }
  #entry .inner .btnText span {
  	font-size: 15px;
  }
}
