@charset "utf-8";
/* ==========================================================================

	common style
	
========================================================================== */
body, div, p, ul, li, h1, h2, h3, h4, h5, h6, a, span {margin:0; padding:0; font-weight:normal; font-family: source-han-sans-cjk-ja, sans-serif;font-style: normal;;font-feature-settings : "palt" 1;}
a, p, li, ol {color:#1F1F1F;letter-spacing: 1px;-webkit-transition: all 1s;-moz-transition: all 1s;-o-transition: all 1s;transition: all  1s;}
a {text-decoration:none; cursor:pointer;}
a:hover{ color: #1F1F1F;-webkit-transition: all 1s;-moz-transition: all 1s;-o-transition: all 1s;transition: all  1s;}
div {width:100%;}
ul {list-style:none;}
iframe {border:none;}
.f_img img{ width: 100%; height: auto; max-width: 100%; vertical-align: bottom;}
.txt_hidden span{display: none;}
.pc{display: block !important;}
.sp{ display: none !important;}
video {
    width: 100%;
    max-width: 100%;
    height: auto;
}
@media only screen and (max-width: 860px){
	.pc{display: none !important;}
	.sp{display: block !important;}
}
.fb_iframe_widget span {
  vertical-align: baseline !important;
}
.fb_iframe_widget_fluid span {
    width: 100%;
	vertical-align: baseline !important;
}
.en{
	font-family: 'Quicksand', sans-serif;
}

/* ========================================
 * ブロックリンク設定
  ========================================*/

.block_link{
    position:relative;
}
.block_link a{
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    text-indent:-999px;
	background: transparent url(../img/link_bg.png) 0 0 repeat;
	z-index: 10;
}

/* ========================================
 * flex box 
  ========================================*/

.flex-center{
	display: -webkit-flex; /* Safari */ 
	display: flex;
    -webkit-align-items: center; /* Safari */
    align-items: center;
}
.flex-start{
	display: -webkit-flex; /* Safari */ 
	display: flex;
    -webkit-align-items: flex-start; /* Safari */
    align-items: flex-start;
}
.flex-end{
	display: -webkit-flex; /* Safari */ 
	display: flex;
	-webkit-justify-content: space-between; /* Safari */
    justify-content:         space-between;
    -webkit-align-items: flex-end; /* Safari */
    align-items: flex-end;
}
/* pcのみ　*/
.flex-center-pc{
	display: -webkit-flex; /* Safari */ 
	display: flex;
    -webkit-align-items: center; /* Safari */
    align-items: center;
}
.flex-start-pc{
	display: -webkit-flex; /* Safari */ 
	display: flex;
    -webkit-align-items: flex-start; /* Safari */
    align-items: flex-start;
}
.flex-end-pc{
	display: -webkit-flex; /* Safari */ 
	display: flex;
	-webkit-justify-content: space-between; /* Safari */
    justify-content:         space-between;
    -webkit-align-items: flex-end; /* Safari */
    align-items: flex-end;
}
/* spのみ　*/
.flex-center-sp{
	display: block;
}
.flex-start-sp{
	display: block;
}
.flex-end-sp{
	display: block;
}

.flex-row-reverse{
	-webkit-flex-direction: row-reverse; /* Safari */
  	flex-direction:         row-reverse;
}
.flex-row-reverse-pc{
	-webkit-flex-direction: row-reverse; /* Safari */
  	flex-direction:         row-reverse;
}
.flex-space{
	-webkit-justify-content: space-between; /* Safari */
    justify-content:         space-between;
}
.flex-space-end{
	-webkit-justify-content: flex-end; /* Safari */
    justify-content:         flex-end;
}
.flex-space-start{
	-webkit-justify-content: flex-start; /* Safari */
    justify-content:         flex-start;
}
.flex-space-center{
	-webkit-justify-content: center; /* Safari */
    justify-content:         center;
}
.flex-wrap {
  -webkit-flex-wrap: wrap; /* Safari */
  flex-wrap:         wrap;
}
@media only screen and (max-width: 860px){
	.flex-center-pc{
		display: block;
	}
	.flex-start-pc{
		display: block;
	}
	.flex-end-pc{
		display: block;
	}
	.flex-center-sp{
		display: -webkit-flex; /* Safari */ 
		display: flex;
		-webkit-align-items: center; /* Safari */
		align-items: center;
	}
	.flex-start-sp{
		display: -webkit-flex; /* Safari */ 
		display: flex;
		-webkit-align-items: flex-start; /* Safari */
		align-items: flex-start;
	}
	.flex-end-sp{
		display: -webkit-flex; /* Safari */ 
		display: flex;
		-webkit-justify-content: space-between; /* Safari */
		justify-content:         space-between;
		-webkit-align-items: flex-end; /* Safari */
		align-items: flex-end;
	}
	.flex-row-reverse-pc{
		-webkit-flex-direction: row; /* Safari */
		flex-direction:         row;
	}
}

/* ========================================
 *  天地中央
  ========================================*/

.center_layout{
	display: -webkit-flex; /* Safari用 */
	display: flex;
	-webkit-justify-content: center; /* Safari用 */
	justify-content: center;
	-webkit-align-items: center; /* Safari用 */
	align-items: center;
}
.center_layout_2{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%, -50%); /* Safari用 */
	transform: translate(-50%, -50%);
}

/* ========================================
 *  header
  ========================================*/

.top_hero{
	color: #fff;
	background: url(../img/top.png) no-repeat;
	background-size: cover;
	background-position: center center;
	padding: 40px;
	position: relative;
}

@-webkit-keyframes Gradient {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}
@-moz-keyframes Gradient {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}
}
@keyframes Gradient {
	0% {
		background-position: 0% 50%
	}
	50% {
		background-position: 100% 50%
	}
	100% {
		background-position: 0% 50%
	}

}

.top_hero_border{
	border: 0px solid #fff;
	padding: 10% 5%;
	position: relative;
}
.top_txtbox{
	position: relative;
	z-index: 100;
}
.top_txt01{
	font-size: 20px;
	color: #000;
	letter-spacing: 4px;
	font-weight: 400;
}
.top_title{
	font-family: europa, sans-serif;
	font-weight: 600;
	font-style: normal;
	font-size: 54px;
	letter-spacing: 3px;
	color: #000;
}
.top_title_ja{
	font-size: 14px;
	color: #000;
	letter-spacing: 4px;
	font-weight: 400;
}
.top_menu{
	margin: 5% 0 0;
}
.top_menu li{
	font-family: europa, sans-serif;
	font-weight: 600;
	font-style: normal;
	color: #000;
	font-size: 17px;
	letter-spacing: 2px;
	margin: 4px;
}
.top_menu li:before{
	position: relative;
	height: 2px;
	width: 15px;
	margin: 0 auto 5px;
	background: #000;
	content: "";
	display: inline-block;
}


.bg_01{
	position: absolute;
	z-index: 10;
	width: 60%;
	top: 10%;
	left: 10%;
}
.bg_02{
	position: absolute;
	z-index: 10;
	width: 70%;
	right: 0;
	bottom: 0;
}

.main_bg{
	background: linear-gradient(-45deg, #244096, #1db39e, #244096, #1db39e);
	background-size: 400% 400%;
	-webkit-animation: Gradient 15s ease infinite;
	-moz-animation: Gradient 15s ease infinite;
	animation: Gradient 15s ease infinite;
	position: relative;
	margin: -1px 0 0;
}
.main_bg *{
	color: #fff !important;
}
.contents_inner{
	width: 90%;
	margin: 0 auto;
	padding: 5% 0;
	max-width: 1000px;
	position: relative;
}
.message_bg{
	position: absolute;
	z-index: 10;
	width: 40%;
	right: 0;
	top: 0;
}

#message{
	position: relative;
	margin: 0 auto;
	padding: 7% 0 0;
}
.contents_en{
	font-family: europa, sans-serif;
	font-weight: 600;
	font-style: normal;
	color: #fff;
	font-size: 15px;
	letter-spacing: 3px;
	margin: 0 auto 2px;
	text-align: center;
}
.contents_ja{
	font-weight: 400;
	font-style: normal;
	color: #fff;
	font-size: 22px;
	letter-spacing: 8px;
	margin: 0 auto 20px;
	text-align: center;
}
.contents_bar{
	width: 19%;
	height: 5px;
	background: linear-gradient(100deg, #244096, #1db39e);
	-webkit-animation: Gradient 15s ease infinite;
	-moz-animation: Gradient 15s ease infinite;
	animation: Gradient 15s ease infinite;
	margin: 0 auto;
}
.message_txt{
	font-weight: 200;
	line-height: 3;
	font-style: normal;
	color: rgba(255,255,255,0979);
	font-size: 15px;
	letter-spacing: 2px;
	margin: 5% auto;
	text-align: center;
}


.works_section{
	position: relative;
	width: 100%;
}
#works{
	position: relative;
	margin: 0 auto;
	padding: 2% 0;
	max-width: 1280px;
}
.works_list{
	margin: 2% auto 0;
	width: 100%;
	z-index: 100;
	position: relative;
}
.works_list li .photo{
	width: 100%;
	z-index: 100;
}
.works_01{
	margin: 0 auto 5%;
}
.works_01 .txtbox{
	width: 90%;
	max-width: 1000px;
	margin: 3% auto 0;
}
.works_02 .txtbox{
	width: 90%;
	max-width: 1000px;
	margin: 3% auto 0;
}
.work_number{
	font-family: europa, sans-serif;
	font-weight: 600;
	font-style: normal;
	color: #fff;
	font-size: 40px;
	letter-spacing: 3px;
	margin: 0 auto 2px;
	text-align: left;
}
.work_number:after{
	position: relative;
	height: 2px;
	width: 45px;
	margin: 0px 0;
	background: #fff;
	content: "";
	display: block;
}
.work_title{
	font-weight: 400;
	font-style: normal;
	color: #fff;
	font-size: 21px;
	letter-spacing: 4px;
	margin: 5px auto 20px;
	text-align: left;
}
.work_txt{
	font-weight: 400;
	font-style: normal;
	color: #fff;
	font-size: 14px;
	line-height: 1.5;
	letter-spacing: 1px;
	margin: 5px auto 20px;
	text-align: left;
}
.work_bg_01{
	position: absolute;
	z-index: 10;
	width: 40%;
	left: 0;
	top: 15%;
	opacity: 0.6;
}
.work_bg_02{
	position: absolute;
	z-index: 10;
	width: 40%;
	right: 0;
	bottom: 0%;
	opacity: 0.6;
}

#company{
	position: relative;
	margin: 0 auto;
	padding: 5% 0;
}

.company_list{
	width: 72%;
	margin: 5% auto;
}
.company_list li{
	width: 100%;
	margin: 20px 0;
	height: 100%;
	position: relative;
	border-bottom: 1px solid #fff;
}
.company_list li .left{
	width: 25%;
	color: #fff;
	padding: 0 0 10px;
	line-height: 2;
}
.company_list li .bar{
	width: 1px;
	background: #fff;
	height: 30px;
	color: #fff;
	margin: 0 10px;
	line-height: 2;
}

.company_list li .right{
	width: 72%;
	color: #fff;
	padding: 0 10px 10px;
	line-height: 2;
}

.company_list li .right a{
	color: #fff !important;
	text-decoration: underline;
}

.footer{
	margin: 0 auto;
	width: 100%;
	padding: 0 0 8%;
}

.footer_txt{
	font-family: europa, sans-serif;
	font-weight: 600;
	font-style: normal;
	color: #fff;
	font-size: 20px;
	letter-spacing: 2px;
	text-align: center;
}
.copy{
	font-family: europa, sans-serif;
	font-weight: 200;
	font-style: normal;
	color: #fff;
	font-size: 11px;
	letter-spacing: 1px;
	text-align: center;
	margin: 2px 0 0;
}



/* movie */
.work_title_2{
	font-size: 15px;
	text-align: left;
	margin: 0 0 15px;
	letter-spacing: 3px;
}
.movie{
	position: relative;
	width: 100%;
    max-width: 1000px;
    margin: 0px auto 0;
}
.movie-wrap {
    position: relative;
    padding-bottom: 30.25%;
    padding-top: 0px;
    height: 0;
    overflow: hidden;
	margin: 0;
	width: 49%;
}
.movie-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.video_name{
	font-size: 11px;
	text-align: left;
}
@media only screen and (max-width: 860px){
	.top_hero{
		color: #fff;
		background: url(../img/top.png) no-repeat;
		background-size: cover;
		background-position: center center;
		padding: 26px;
		position: relative;
	}

	.top_hero_border{
		border: 0px solid #fff;
		padding: 28% 3% 41%;
		position: relative;
	}
	.top_txtbox{
		position: relative;
		z-index: 100;
	}
	.top_txt01{
		font-size: 16px;
		color: #000;
		letter-spacing: 3px;
		font-weight: 400;
		margin: 0 0 10px;
		text-shadow:1px 1px 0px #ffffff;
	}
	.top_title{
		font-family: europa, sans-serif;
		font-weight: 600;
		font-style: normal;
		font-size: 60px;
		letter-spacing: 4px;
		line-height: 1.2;
		color: #000;
		text-shadow:1px 1px 0px #ffffff;
	}
	.top_title_ja{
		font-size: 14px;
		color: #000;
		letter-spacing: 4px;
		font-weight: 400;
		margin: 15px 0 0;
		text-shadow:1px 1px 0px #ffffff;
	}
	.top_menu{
		margin: 18% 0 0;
	}
	.top_menu li{
		font-family: europa, sans-serif;
		font-weight: 600;
		font-style: normal;
		color: #fff;
		font-size: 18px;
		letter-spacing: 2px;
		margin: 4px;
	}
	.top_menu li:before{
		position: relative;
		height: 2px;
		width: 15px;
		margin: 0 auto 5px;
		background: #fff;
		content: "";
		display: inline-block;
	}


	.bg_01{
		position: absolute;
		z-index: 10;
		width: 80%;
		top: 5%;
		left: 10%;
	}
	.bg_02{
		position: absolute;
		z-index: 10;
		width: 100%;
		right: 0;
		bottom: 0;
	}

	.main_bg{
		position: relative;
		margin: -1px 0 0;
	}
	.contents_inner{
		width: 90%;
		margin: 0 auto;
		padding: 5% 0;
		max-width: 1000px;
		position: relative;
	}
	.message_bg{
		position: absolute;
		z-index: 10;
		width: 40%;
		right: 0;
		top: 0;
	}

	#message{
		position: relative;
		margin: 0 auto;
		padding: 20% 0 0;
	}
	.contents_en{
		font-family: europa, sans-serif;
		font-weight: 600;
		font-style: normal;
		color: #fff;
		font-size: 14px;
		letter-spacing: 3px;
		margin: 0 auto 2px;
		text-align: center;
	}
	.contents_ja{
		font-weight: 400;
		font-style: normal;
		color: #fff;
		font-size: 24px;
		letter-spacing: 8px;
		margin: 0 auto 20px;
		text-align: center;
	}
	.contents_bar{
		width: 49%;
		height: 5px;
		background: linear-gradient(100deg, #244096, #1db39e);
		-webkit-animation: Gradient 15s ease infinite;
		-moz-animation: Gradient 15s ease infinite;
		animation: Gradient 15s ease infinite;
		margin: 0 auto;
	}
	.message_txt{
		font-weight: 200;
		line-height: 2.5;
		font-style: normal;
		color: rgba(255,255,255,0979);
		font-size: 12px;
		letter-spacing: 2px;
		margin: 5% auto;
		text-align: center;
		width: 90%;
	}


	.works_section{
		position: relative;
		width: 100%;
	}
	#works{
		position: relative;
		margin: 0 auto;
		padding: 19% 0 0;
	}
	.works_list{
		margin: 10% auto 0;
		width: 100%;
		z-index: 100;
		position: relative;
	}
	.works_list li .photo{
		background: #fff;
		width: 100%;
		z-index: 100;
	}
	.works_01{
		margin: 0 auto 5%;
	}
	.works_01 .txtbox{
		width: 80%;
		padding: 3% 0 2% 0;
	}
	.works_02 .txtbox{
		width: 80%;
		padding: 3% 0 0 0;
	}
	.work_number{
		font-family: europa, sans-serif;
		font-weight: 600;
		font-style: normal;
		color: #fff;
		font-size: 35px;
		letter-spacing: 3px;
		margin: 0 auto 2px;
		text-align: left;
		line-height: 1.4;
	}
	.work_number:after{
		position: relative;
		height: 2px;
		width: 41px;
		margin: 0px 0;
		background: #fff;
		content: "";
		display: block;
	}
	.work_title{
		font-weight: 400;
		font-style: normal;
		color: #fff;
		font-size: 21px;
		letter-spacing: 4px;
		margin: 5px auto 20px;
		text-align: left;
	}
	.work_txt{
		font-weight: 200;
		font-style: normal;
		font-size: 12px;
		letter-spacing: 2px;
		color: #fff;
		line-height: 1.5;
		margin: 5px auto 20px;
		text-align: left;
	}
	.work_bg_01{
		position: absolute;
		z-index: 10;
		width: 80%;
		left: 0;
		top: 10%;
		opacity: 0.5;
	}
	.work_bg_02{
		position: absolute;
		z-index: 10;
		width: 80%;
		right: 0;
		bottom: 13%;
		opacity: 0.5;
	}

	#company{
		position: relative;
		margin: 0 auto;
		padding: 16% 0 10%;
	}

	.company_list{
		width: 90%;
		margin: 15% auto;
	}
	.company_list li{
		width: 100%;
		margin: 20px 0;
		height: 100%;
		position: relative;
		border-bottom: 1px solid #fff;
	}
	.company_list li .left{
		width: 25%;
		color: #fff;
		padding: 0 0 10px;
		line-height: 2;
	}
	.company_list li .bar{
		width: 1px;
		background: #fff;
		height: 30px;
		color: #fff;
		margin: 0 10px;
		line-height: 2;
	}

	.company_list li .right{
		width: 72%;
		color: #fff;
		padding: 0 10px 10px;
		line-height: 2;
	}

	.footer{
		margin: 0 auto;
		width: 100%;
		padding: 0 0 8%;
	}

	.footer_txt{
		font-family: europa, sans-serif;
		font-weight: 600;
		font-style: normal;
		color: #fff;
		font-size: 20px;
		letter-spacing: 2px;
		text-align: center;
	}
	.copy{
		font-family: europa, sans-serif;
		font-weight: 200;
		font-style: normal;
		color: #fff;
		font-size: 11px;
		letter-spacing: 1px;
		text-align: center;
		margin: 2px 0 0;
	}
	
	
	/* movie */
	.work_title_2{
		font-size: 12px;
		text-align: left;
	}
	.movie{
		position: relative;
		width: 100%;
		max-width: 1000px;
		margin: 0px auto 0px;
	}
	.movie-wrap {
		position: relative;
		padding-bottom: 65.25%;
		padding-top: 0px;
		height: 0;
		overflow: hidden;
		margin: 15px auto;
		width: 100%;
	}
	.movie-wrap iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}








