
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
.mainVisual {
	width: 100%;
	height: 100vh;
	padding: 90px 80px 40px;
	position: relative;
	box-sizing: border-box;
}

.mainVisual .lead {
	width: 100%;
	position: absolute;
	left: 0;
	top: 40%;
	color: #fff;
	z-index: 2;
	font-size: 1.5rem;
	letter-spacing: 5px;
	text-align: center;
}

.mainVisual .lead span {
	display: block;
	font-size: 5rem;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.mainVisual .lead {
		font-size: 1rem;
		letter-spacing: 2px;
		box-sizing: border-box;
	}
	
	.mainVisual .lead span {
		display: block;
		font-size: 3rem;
	}
	
}

.mainVisualList {
    position: relative;
    height: 95%;
    overflow: hidden;
	z-index: 1;
}

.mainVisualList li {
	width: 100%;
	float: left;
}

.mainVisualList li img {
	width: 100%;
}

.bottomArrow {
	width: 45px;
	display: block;
	position: absolute;
	right: 30px;
	bottom: 15px;
}

.bottomArrow img {
	width: 100%;
	display: block;
}

/*------------------------------------------------------------
	works
------------------------------------------------------------*/
.selectedWorks {
	padding-top: 77px;
	margin-bottom: 80px;
}

.worksTitle {
	margin-left: 80px;
	margin-bottom: 62px;
	font-size: 15px;
	font-weight: 400;
	letter-spacing: .5px;
}

.worksListTitle {
	margin-left: 80px;
	margin-bottom: 22px;
	font-size: 13px;
}

.worksListTitle .listTitleEn {
	margin-right: 26px;
	display: inline-block;
	vertical-align: top;
	font-size: 36px;
	font-weight: 100;
}

.worksListTitle .listTitle {
	margin-top: 22px;
	display: inline-block;
	vertical-align: top;
	letter-spacing: 1.4px;
}

.worksBox {
	margin-bottom: 60px;
	overflow: hidden;
}

.worksList ul {
	width: 10000px;
}

.worksList ul li {
	float: left;
	display: block;
	height: 280px;
}

.worksList a {
	display: block;
}

.worksList ul img {
	height: 100%;
	display: block;
}

.worksList a:hover {
	opacity: 1;
	cursor: hand;
}

.pad .worksList ul {
	width: auto;
	white-space: nowrap;
	overflow-x: auto;
	overflow-y: hidden;
	-webkit-overflow-scrolling: touch;
}

.pad .worksList ul li {
	float: none;
	display: inline-block;
	height: 200px;
	margin-right: -5px;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.worksList ul {
		width: auto;
		white-space: nowrap;
		overflow-x: auto;
		overflow-y: hidden;
		-webkit-overflow-scrolling: touch;
	}

	.worksList ul li {
		height: 200px;
		margin-right: -5px;
	}
}

/*------------------------------------------------------------
	about
------------------------------------------------------------*/
.about {
	padding: 80px 0 43px 80px;
	display: flex;
	align-items:center;
	box-sizing: border-box;
}

.aboutPic {
	flex: 0 0 49%;
    overflow: hidden;
}

.aboutPic img {
	width: 100%;
	display: block;
}

.aboutCon {
	padding: 0 6.5% 0 5.5%;
	flex: 1;
	box-sizing: border-box;
}

.aboutCon .menuTitile {
	margin-bottom: 30px;
	font-size: 36px;
	font-weight:200;
	line-height:40px;
}

.aboutCon .menuTitile span {
	margin-top: 5px;
	margin-left: -2px;
	display: block;
	font-size: 16px;
	letter-spacing: 4.9px;
	font-family: 'Noto Sans JP', sans-serif;
}

.introCon {
	margin-left: -3px;
	font-size: 15px;
	letter-spacing: .7px;
	line-height: 2.2;
	text-indent: 2em;
}

.aboutIntro {
	margin-bottom: 20px;
}

.aboutCon .menuCon {
	width: 30%;
}

#gFooter {
	padding-right: 31px;
}

.topArrow {
    margin-bottom: 28px;
}

@media all and (min-width: 767px) and (max-width: 1080px) {
	.aboutCon {
	    padding: 0 107px 0 98px;
	}
}

@media all and (min-width: 0) and (max-width: 767px) {
	.mainVisual {
		margin-bottom: 30px;
	    padding: 70px 19px 10px;
		overflow: hidden;
	}

	.mainVisualList {
		height: 88vh;

	}
	
	.mainVisualList li {
		height: 88vh;
	}
	
	.mainVisualList li img {
		height: 100%;
	}

/*------------------------------------------------------------
	works
------------------------------------------------------------*/
	.mainVisual {
		margin-bottom: 0;
	}

	.worksTitle {
	    margin-left: 16px;
	    margin-bottom: 76px;
	}

	.selectedWorks {
		padding-top: 0;
		margin-top: -2px;
		margin-bottom: 60px;
	}

	.worksListTitle {
	    margin-left: 16px;
	    margin-bottom: 25px;
	}

	.worksListTitle .listTitleEn {
		margin-right: 0;
		display: block;
	}

	.worksListTitle .listTitleEn {
	    font-size: 25px;
	}

	.worksListTitle .listTitle {
		margin-top: 3px;
		margin-left: 2px;
	}

	.worksBox {
	    margin-bottom: 20px;
	}

	.worksList img {
		height: 70%;
	}

    .worksList a {
        width: 100%;
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }


	.worksList ul a img {
	height: 80%;
	display: block;
}


/*------------------------------------------------------------
	about
------------------------------------------------------------*/
	.about {
		padding: 17px;
        display: block;
    }

    .aboutCon {
    	padding: 0;
    	margin-bottom: 62px;
    }

    .aboutPic {
		margin-bottom: 51px;
	}

    .aboutCon .menuTitile {
    	margin: 0 0 44px 0;
	    font-size: 28px;
	    letter-spacing: .2px;
	    text-align: center;
	}

	.aboutCon .menuTitile span {
	    margin-top: 8px;
	}

	.aboutIntro {
	    margin-bottom: 16px;
	}

	.introCon {
		margin-left: 7px;
		line-height: 2;
		font-size: 13px;
		letter-spacing: .3px;
	}

	.aboutCon .menuCon {
		margin: 0 6px 0 7px;
	}

	.aboutCon .menuCon span {
		font-size: 23px;
	}

	.aboutCon .menuCon p {
		margin-top: -1px;
		margin-right: -1px;
		font-size: 13px;
	}

	.aboutCon .menuCon a {
	    padding: 34px 0 0;
	}

	#gFooter {
		padding-bottom: 80px;
	    margin-top: 0;
	}

	.topArrow {
	    margin-bottom: 30px;
	}
}

.product {
	margin-bottom: 35px;
}

.product .sub {
	margin: 0;
}

.product .sub a {
	display: block;
}

.product .sub a:hover {
	opacity: 1;
}

.product .pro01 {
	margin: 0 -7% 0 0;
	width: 57%;
	float: left;
	position: relative;
}

.product .pro02 {
	margin: 0 0 0 -7%;
	width: 57%;
	float: right;
	position: relative;
}

.product .sub .photo {
	overflow: hidden;
}

.product .pro01 .photo {
	padding-right: 30px;
	z-index: 1;
}

.product .pro02 .photo {
	padding-left: 30px;
	z-index: 1;
}

.product .sub .photo img {
	width: 100%;
	-webkit-transition: all .4s ease-in-out 0s;
	-moz-transition: all .4s ease-in-out 0s;
	-ms-transition: all .4s ease-in-out 0s;
	transition: all .4s ease-in-out 0s;
}

.product .sub a:hover .photo img {
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
}

.product .lead {
	padding-top: 35px;
	width: 100%;
	color: #fff;
	font-size: 50px;
	font-weight: bold;
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
	box-sizing: border-box;
	text-align: center;
}

.product .pro01 .lead {
	padding-right: 100px;
}

.product .pro02 .lead {
	padding-left: 100px;
}

.product .lead span {
	margin-top: 0;
	display: block;
	font-size: 15px;
	font-weight: normal;
	text-transform: uppercase;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.product {
		margin-bottom: 40px;
	}
	
	.product .sub {
		margin: 0;
		max-width: inherit;
	}
	
	.product .pro01 {
		margin: 0 -9% 0 0;
		width: 59%;
		float: left;
		position: relative;
	}
	
	.product .pro02 {
		margin: 0 0 0 -9%;
		width: 59%;
		float: right;
		position: relative;
	}
	
	.product .sub .photo {
		overflow: hidden;
	}
	
	.product .pro01 .photo {
		padding-right: 10px;
	}
	
	.product .pro02 .photo {
		padding-left: 10px;
	}
	
	.product .sub .photo img {
		width: 100%;
		-webkit-transition: all .4s ease-in-out 0s;
		-moz-transition: all .4s ease-in-out 0s;
		-ms-transition: all .4s ease-in-out 0s;
		transition: all .4s ease-in-out 0s;
	}
	
	.product .sub a:hover .photo img {
		transform: scale(1);
		-webkit-transform: scale(1);
		-moz-transform: scale(1);
	}
	
	.product .lead {
		padding-top: 13px;
		font-size: 23px;
		box-sizing: border-box;
	}
	
	.product .pro01 .lead {
		padding-right: 60px;
	}
	
	.product .pro02 .lead {
		padding-left: 60px;
	}
	
	.product .lead span {
		display: none;
	}
}

.banner {
	height: 500px;
	background: url(../image/banner.jpg) no-repeat center center;
	background-size: cover;
}

.banner .title {
	color: #fff;
	line-height: 500px;
	font-size: 60px;
	font-weight: bold;
	text-align: center;
	text-transform: uppercase;
}

.banner .txt {
	color: #fff;
	font-size: 16px;
	text-align: center;
}

.banner .comMore a {
	color: #fff;
	background: #4395FF;
	border-color: #4395FF;	
}

.banner .comMore a:hover {
	color: #000;
	background: #fff;
	border-color: #fff;	
}

.newsBox {
	padding-bottom: 80px;
}

.newsBox ul {
	margin: 0 auto;
	max-width: 1300px;
}

.newsBox li {
	margin: 0 2%;
	width: 46%;
	float: left;
	font-size: 15px;
	border-bottom: 1px dotted #ccc;
}

.newsBox li a {
	padding: 15px 0;
	display: inline-block;
	font-size: 15px;
}

.newsBox li a:hover {
	text-decoration: underline;
}

.newsBox li span {
	margin-right: 20px;
	padding: 15px 0;
	font-size: 15px;
}

@media all and (min-width: 0) and (max-width: 767px) {
	.newsBox {
		padding-bottom: 40px;
	}
	
	.newsBox ul {
		margin: 0 auto;
		max-width: inherit;
	}
	
	.newsBox li {
		margin: 0 ;
		padding: 0 15px;
		width: auto;
		float: none;
		font-size: 15px;
		border-bottom: 1px dotted #ccc;
	}
	
	.newsBox li a {
		padding: 10px 0;
		display: inline-block;
		font-size: 15px;
	}
	
	.newsBox li a:hover {
		text-decoration: underline;
	}
	
	.newsBox li span {
		margin-right: 20px;
		padding: 10px 0;
		font-size: 15px;
	}
	
	.newsBox li a:hover span {
	}

	.banner {
		height: 180px;
		background: url(../image/banner.jpg) no-repeat center center;
		background-size: cover;
	}
	
	.banner .title {
		font-size: 25px;
		line-height: 1.5;
	}
	
	.banner .sub {
		padding-top: 70px;
	}
	
	.banner .txt {
		color: #fff;
		font-size: 16px;
		text-align: center;
	}
	
	.banner .comMore a {
		color: #fff;
		background: #4395FF;
		border-color: #4395FF;	
	}
	
	.banner .comMore a:hover {
		color: #000;
		background: #fff;
		border-color: #fff;	
	}
	
}

.btmBox {
	padding-bottom: 220px;
	overflow: hidden;
	position: relative;
}

.btmBox .inner {
	position: relative;
}

.btmBox .textBox {
	margin: 0 auto;
	max-width: 1400px;
}

.btmBox video {
	width: 100%;
}

@media all and (min-width: 768px) and (max-width: 1200px) {
	.btmBox .textBox {
		margin: 0 80px;
		max-width: inherit;
	}
}

.vjs-loading-spinner {
	display: none !important;
}

.i-video-text{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	transform: translateY(-50%);
	width: 100%;
	color: #fff;
	/* min-height: 510px; */
	background-repeat: no-repeat!important;
	background: none;
}

.i-video-tp{
	font-size: 36px;
	line-height: 56px;
	font-weight: bold;
}

.i-video-ta{
	margin-top: 60px;
}

.i-video-ta a{
	display: block;
	float: left;
	line-height: 50px;
	border-radius: 25px;
	padding: 0 36px;
	font-size: 18px;
	color: #fff;
	background: #4395FF;
}

.i-video-ta a:hover{
	opacity: 0.7;
}

@media (max-width: 1199px) {
	.btmBox {
		padding-bottom: 60px;
	}
	
	.i-video-text {
		background: url(../image/banner.jpg);
		background-size: cover;
	}
	
	#video1{
		display: none!important;
	}
	.i-video-text{
		position: relative;
		left: auto;
		top: auto;
		float: left;
		width: 100%;
		padding: 50px 20px;
		-webkit-transform: translateY(-0%);
		-ms-transform: translateY(-0%);
		-moz-transform: translateY(-0%);
		transform: translateY(-0%);
		box-sizing: border-box;
		/* background: url(../images/video-bg.jpg) no-repeat; */
	}
	.i-video-tp {
	    font-size: 22px;
	    line-height: 36px;
	}
	.i-video-ta {
	    margin-top: 30px;
	}
}

@media (max-width: 767px) {
	.i-video-tp {
	    font-size: 14px;
	    line-height: 1.6;
	}
	.i-video-ta {
	    margin-top: 15px;
	}
	.i-video-ta a {
	    padding: 0 20px;
	    line-height: 36px;
	    border-radius: 18px;
	    font-size: 14px;
	}
}

@media (max-width: 991px) {
	.i-video-tp {
	    font-size: 18px;
	    line-height: 1.8;
	}
	.i-video-ta {
	    margin-top: 20px;
	}
	.i-video-ta a {
	    padding: 0 28px;
	    line-height: 40px;
	    border-radius: 20px;
		font-size: 16px;
	}
	.i-about .i-ab-p {
		width: 100%;
		max-width: 100%;
	}
}

