@charset "utf-8";
/* CSS Document */

/*----------------------------------------------------
	☆uniq
----------------------------------------------------*/
.btn02{
	max-width:320px;
}
body, html, #page{
	height:100%;
}
#topMovieArea{
	position:relative;
	height:100%;
	overflow:hidden;
}
#topMovieArea #topBgVideo{
	background:url(../images/movie.jpg) center top no-repeat;
	background-size:cover;
	min-height: 100%;
 min-width: 100%;
 z-index: -2;
	position:absolute;
	left:0;
	top:0;
}
#topMovieArea .title{
	position:absolute;
	left:0;
	top:50%;
	margin-top:-6.5%;
	width:100%;
	text-align:center;
}
#topMovieArea .title img{
	width:93%;
	max-width:653px;
}
#topMovieArea .mask{
	background: url(../images/bg_pattern.png) left top repeat;
	width:100%;
	height:100%;
}
/*---------------*/
#header{
	width:100%;
	position:absolute;
	left:0;
	top:0;
}
#gNav li a{color:#fff;}
#contents{
	background:#FFF;
	padding:0;
}
/*---------------*/
#contents .company01{
	background:url(../../lib/cmn_img/bg_world.png) center 80px no-repeat, url(../images/bg_index_01.gif) left top repeat;
	padding:60px 3.5%;
	text-align:center;
	margin-bottom:0;
}
.bx-wrapper{
	margin-bottom:30px !important;
	width:100% !important;
}
.bx-viewport,
#contents .company01 #slider li{
	width:100% !important;
}
#contents .company01 #slider{
	width:100% !important;
}
#contents .company01 #slider li img{
	width:100%;
	max-width:693px;
}
#contents .company01 .title01{
	font-size:3.07em;
	line-height:1.5em;
	margin-bottom:20px;
}
#contents .company01 .title02{
	margin-bottom:20px;
	font-size:1.38em;
	line-height:1.3em;
	font-weight:normal;
}
#contents .company01 .title03{
	margin-bottom:30px;
	font-size:1.23em;
	line-height:1.3em;
}
#contents .company01 .tx{
	line-height:1.7em;
	font-size:1.08em;
	margin-bottom:30px;
}
#contents .company01 .sign,
#contents .company01 .name01{
	margin-bottom:10px;
	line-height:1.5em;
}
#contents .company01 .name01{
	font-size:1.23em;
}
#contents .company01 .name02{
	line-height:1.5em;
	font-family: 'Montserrat', sans-serif;
	letter-spacing:0.1em;
}
#contents .company01 .name02 span{
	font-size:1.16em;
}
/*-----------------*/
#contents .mediaSolution{
	background:url(../images/bg_index_02.jpg) center top no-repeat #f0f3f8;
	background-size: auto 100%;
	padding:12% 0;
	text-align:center;
}
#contents .mediaSolution .title01{
	font-family: 'Montserrat', sans-serif;
	letter-spacing:0.2em;
	font-weight:lighter;
	color:#0091f5;
	margin-bottom:30px;
	line-height:1.2em;
	font-size:3.84em;
	text-transform:uppercase;
}
#contents .mediaSolution .title02{
	letter-spacing:0.1em;
	margin-bottom:30px;
	line-height:1.2em;
	font-size:1.16em;
}
/*------------*/
#contents .services ul{
	overflow:hidden;
}
#contents .services ul li{
	width:23%;
	margin:0 1%;
	position:relative;
	border:2px solid #000;
	float:left;
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	overflow:hidden;
}
#contents .services ul li::before {
    content: "";
    display: block;
    padding-top: 100%;
}
#contents .services ul li .bg{
	background-position: center center;
	background-size:cover;
	position:absolute;
	left:-5%;
	top:-5%;
	width:110%;
	height:110%;
	z-index:0;
	filter: blur(5px);
	-webkit-filter: blur(5px);
}
#contents .services ul li:hover .bg{
	filter:none;
	-webkit-filter:none;
	transition:0.3s;
	-webkit-transition:0.3s;
}
#contents .services ul li .inner{
	z-index:2;
	position:absolute;
	left:2px;
	top:2px;
	width:calc(100% - 4px);
	height:calc(100% - 4px);
	width:-webkit-calc(100% - 4px);
	height:-webkit-calc(100% - 4px);
	border:1px solid #000;
	padding:20px;
}
#contents .services ul li .table{
	display:table;
	width:100%;
	height:100%;
}
#contents .services ul li .tablecell{
	display:table-cell;
	width:100%;
	height:100%;
	vertical-align:middle;
}
#contents .services ul li .tablecell .head01{
	font-family:'游ゴシック体', 'Yu Gothic', YuGothic, 'ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,Osaka,'ＭＳ Ｐゴシック','MS P Gothic',sans-serif;
	font-size:1.8em;
	font-weight:bold;	
	color:#FFF;
	margin-bottom:10px;
	letter-spacing:0;
	text-shadow: 0 0px 10px rgba(0, 0, 0, 0.6);
}
#contents .services ul li .tx{
	color:#FFF;
	padding:20px 0;
	line-height:1.6em;
	font-size:1.08em;
}
/*----------------*/
#contents .worksContainer{
	background: url(../images/bg_index_03.gif) left top repeat;
	padding:60px 0 80px;
}
/*----------------*/
#contents .bnr{
	border-top:1px solid #ccc;
	padding:30px 0 20px;
}
#contents .bnr ul{
	text-align:center;
}
#contents .bnr ul li{
	display: inline-block;
	margin:0 1% 10px;
	width:240px;
	max-width:47%;
	text-align:center;
}
#contents .bnr ul li img{
	width:100%;
}
/*----------------*/
#map{
	width:100%;
	height:350px;
}
@media screen and (max-width:1300px) {
#contents .services ul li .tx{
	padding:10px 0;
	font-size:0.93em;
}
}
@media screen and (max-width:1200px) {
#contents .services ul li .tablecell .btn02{
	display:none;
}
}
@media screen and (max-width:960px) {
#contents .services ul li{
	width:48%;
	margin:0 1% 2%;
}
}
@media screen and (max-width:768px) {
#topMovieArea{
	background:url(../images/movie.jpg) center top no-repeat;
	background-size:cover;
}
#topMovieArea #topBgVideo{
	display:none;
}
#topMovieArea .title{
	margin-top:-12%;
}
#topMovieArea .mask{
	background-size:6px 6px;
}
/*-----------*/
#contents .company01{
	background-size: 100% auto, 15px 15px;
	padding:25px 3.5%;
}
.bx-wrapper{	margin-bottom:15px !important;}
#contents .company01 .title01{
	font-size:1.8em;
	margin-bottom:15px;
}
#contents .company01 .title02{	font-size:1.08em;}
#contents .company01 .title03{
	text-align:left;
	margin-bottom:15px;
	font-size:1.08em;
}
#contents .company01 .tx{
	text-align:left;
	line-height:1.5em;
	font-size:1em;
	margin-bottom:15px;
}
/*------------*/
#contents .mediaSolution .title01{
	margin-bottom:15px;
	font-size:1.8em;
}
#contents .mediaSolution .title02{
	margin-bottom:20px;
	font-size:1em;
}
/*------------*/
#contents .services ul li .tablecell .head01{
	font-size:1.23em;
	line-height:1.2em;
}
}
@media screen and (max-width:768px) {
#contents .services ul li .inner{ padding:10px;}
#contents .services ul li .tablecell .tx{ padding:0; line-height:1.2em;}
#contents .services ul li .tablecell .tx span{
	display:none;
}
/*----------------*/
#contents .worksContainer{
	padding:20px 0 30px;
}
/*----------------*/
#contents .bnr{
	border-top:1px solid #ccc;
	padding:10px 10px 0;
}
/*----------------*/
#map{
	height:200px;
}
}