@charset "UTF-8";

/*-----------------------------------------------------------

	reset default style

-----------------------------------------------------------*/

body {
	margin: 0;
	padding: 0;
}

div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,form,fieldset,input,textarea,p,blockquote,th,td { 
	margin:0;
	padding:0;
}

table {
	border-collapse:collapse;
	border-spacing:0;
}

fieldset,img { 
	border:0;
}

address,caption,cite,code,dfn,em,strong,th,var {
	font-style:normal;
	font-weight:normal;
}

ol,ul {
	list-style:none;
}

caption,th {
	text-align:left;
}

h1,h2,h3,h4,h5,h6 {
	font-size:100%;
	font-weight:normal;
}

q:before,q:after {
	content:'';
}

abbr,acronym { border:0;
}

a {
	display: block;
	height: 100%;
	width: 100%;
}

span.skype_pnh_print_container{display:inline !important;}
span.skype_pnh_container{display:none !important;}


/*-----------------------------------------------------------

	base setting

-----------------------------------------------------------*/

body {
	background: #1d1d1b;
}

@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 100;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 200;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 300;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Medium");
	font-weight: 400;
}
@font-face {
	font-family: "Yu Gothic";
	src: local("Yu Gothic Bold");
	font-weight: bold;
}

body {
	font-family: "游ゴシック", YuGothic, "Helvetica", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, "Helvetica Neue", Arial, sans-serif;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	text-size-adjust: 100%;
	background: #1d1d1b;
}

#container {
	width: 100%;
	margin: 0 auto 0 auto;
	color: #1d1d1d;
	line-height: 1.8;
}

#content {
	width: 100%;
	max-width: 1000px;
	position: relative;
	margin: 0 auto 0 auto;
}

.pc { display: block; }
.sp { display: none; }


@media screen and (max-width: 768px) {
.pc { display: none; }
.sp { display: block; }

#container {
	min-width: 100%;
	max-width: 1000px;
}

}

/*-----------------------------------------------------------

	anchor setting

-----------------------------------------------------------*/

a:link,a:visited,a:active {
	color: #ffffff;
}

a:hover {
	color: #ffffff;
	text-decoration: none;
}

.btn p {
	background: #ffffff url(../img/arrow_01.png) no-repeat right center;
	background-size: 28px 20px;
	width: 100%;
	max-width: 340px;
	margin: 0 auto 0 auto;
	padding: 14px 0 12px 0;
	font-size: 22px;
	font-weight: bold;
	text-align: center;
	box-shadow: 0 0 7px rgba(0, 0, 0, 0.70);
	
	-webkit-transition: opacity .3s;
	-o-transition: opacity .3s;
	transition: opacity .3s;
	vertical-align: middle;
}
.btn p:hover {
	opacity: .5;
}
	.btn a p  {
		color: #000000;
		text-decoration: none;
	}
	
	
@media screen and (max-width: 768px) {


.btn p {
	max-width: 80%;
	margin: 0 auto 0 auto;
	padding: 8px 0 8px 0;
	font-size: 18px;
	
	background: #ffffff url(../img/arrow_01.png) no-repeat right center;
	background-size: 14px 10px;
}

}

/*-----------------------------------------------------------

	header setting

-----------------------------------------------------------*/

.header {
	background: #1d1d1b;
	width: 100%;
	height: 80px;
	padding: 0 0 0 0;
	overflow: hidden;
	
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items:         center;
}
	.header h1 {
		width: 70%;
		height: auto;
		margin: 0 auto 0 auto;
		text-align: center;
		color: #ffffff;
		font-size: 16px;
		line-height: 1.2;
	}
		.header h1 .t01 {
			font-size: 16px;
			display: block;
		}
		.header h1 .t02 {
			font-size: 26px;
			font-weight: bold;
		}
		.header h1 .t03 {
			font-size: 20px;
		}
		.header h1 .t04 {
			font-size: 24px;
			font-weight: bold;
		}
		.header h1 .t05 {
			font-size: 23px;
			font-weight: bold;
		}
	.header h1 a {
		text-decoration: none;
		-webkit-transition: opacity .3s;
		-o-transition: opacity .3s;
		transition: opacity .3s;
		vertical-align: middle;
	}
	.header h1 a:hover  {
		opacity: 0.7;
	}

	.header img {
		width: 100%;
		height: auto;
	}
	.header .cgLogo {
		position: absolute;
		width: 112px;
		left: 35px;
		top: 28px;
			-webkit-transition: opacity .3s;
			-o-transition: opacity .3s;
			transition: opacity .3s;
			vertical-align: middle;
	}
	.header .cgLogo:hover {
		opacity: 0.7;
	}
	.header .headBox {
		position: absolute;
		right: 30px;
		top: 20px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-end;
		justify-content:         flex-end;
		-webkit-align-items: center;
		align-items:         center;
	}
	.header .pr {
		width: 40px;
			-webkit-transition: opacity .3s;
			-o-transition: opacity .3s;
			transition: opacity .3s;
			vertical-align: middle;
	}
	.header .pr:hover {
		opacity: 0.7;
	}
	.header .sns {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-end;
		justify-content:         flex-end;
	}
	.header .sns li {
		width: 25px;
		margin: 0 25px 0 0;
			-webkit-transition: opacity .3s;
			-o-transition: opacity .3s;
			transition: opacity .3s;
			vertical-align: middle;
	}
	.header .sns li:hover {
		opacity: 0.7;
	}
	
	#navi {
		display: none;
	}
	

@media screen and (max-width: 768px) {

.header {
	width: 100%;
	height: 60px;
	padding: 0 0 0 0;
}
	.header h1 {
		width: 100%;
		height: auto;
		text-align: center;
		color: #ffffff;
		font-size: 12px;
		line-height: 1.2;
	}
		.header h1 .t01 {
			font-size: 8px;
			display: block;
		}
		.header h1 .t02 {
			font-size: 16px;
			font-weight: bold;
		}
		.header h1 .t03 {
			font-size: 12px;
		}
		.header h1 .t04 {
			font-size: 15px;
			font-weight: bold;
		}
		.header h1 .t05 {
			font-size: 14px;
			font-weight: bold;
		}
		
	.header .cgLogo {
		position: absolute;
		width: 10%;
		left: 3%;
		top: 20px;
	}
	.header .headBox {
		position: absolute;
		right: 3%;
		top: 16px;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: flex-end;
		justify-content:         flex-end;
		-webkit-align-items: center;
		align-items:         center;
	}
	.header .pr {
		width: 70%;
	}

	.header .sns {
		display: none;
	}

	#navi {
		display: block;
		width: 100%;
	}

#navi .bg {
	position: absolute;
	background: rgba(0, 0, 0, 0.70);
	height: 3000px;
	width: 100%;
	top: 60px;
	left: 0;
	z-index: 1;
	display: none;
}
#navi {
	background: #4c4c4c;
	height: 30px;
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}
	#navi .navi { 
		display: block;
	}
	#navi.fix { position: fixed; top: 0; z-index: 999; }
	#navi.fix #gNav{ top:0; }

	#navi .navi {
		width: 90%;
		margin: 0 auto 0 auto;
	}
	#navi .navi #menuBtn {
		width: 15px;
		height: 15px;
		float: right;
		padding: 3px 0 0 0;
	}
	#navi ul {
		width: 100%;
		margin: 0 auto 0 auto;
		overflow: hidden;
		box-shadow: 0px 0 10px -10px rgba(0, 0, 0, 0.80);

	}
	#navi ul .nav {
		border-top: 1px solid #696969;
	}
		#navi #menuClose {
			display: block;
			width: 15px;
			height: 15px;
			float: right;
			padding: 4px 5% 10px 0;
			border-bottom: none;
		}
		
	#navi li {
		line-height: 1.4;
		padding: 15px 0 15px 0;
		
		border-bottom: 1px solid #696969;
		text-align: center;
		-webkit-transition: opacity .3s;
		-o-transition: opacity .3s;
		transition: opacity .3s;
		vertical-align: middle;
	}
	#navi li .img {
		width: 45%;
		max-width: 45%;
		margin: 0 auto 0 auto;
	}
	#navi li:hover {
		opacity: .7;
	}

	#navi li .txt {
		font-size: 16px;
	}
	#navi li a {
		color: #ffffff;
		text-decoration: none;
	}
	##navi li {
		text-align: center;
		padding: 10px 0 10px 0;
		border-bottom: 1px solid #666666;
	}
	#navi li .img {
		width: 20%;
		max-width: 20%;
		margin: 0 auto 0 auto;
	}
	#navi li .txt {
		font-size: 18px;
	}
	#gNav {
		display: none;
		background: #4c4c4c;
		z-index: 100;
		position: absolute;
		top: 60px;
	}
	#navi .sns {
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content:         center;
	}
	#navi  .sns li {
		width: 25px;
		margin: 0 10px 0 10px;
			-webkit-transition: opacity .3s;
			-o-transition: opacity .3s;
			transition: opacity .3s;
			vertical-align: middle;
	}

	
}

#nav {
	width: 920px;
	margin: 0 auto 0 auto;
	padding: 70px 40px 70px 40px;
	border-bottom: 1px solid #666666;
	
	display: -webkit-flex;
	display: flex;
	-webkit-justify-content: space-between;
	justify-content:         space-between;
}
	#nav li {
		line-height: 1.4;
		-webkit-transition: opacity .3s;
		-o-transition: opacity .3s;
		transition: opacity .3s;
		vertical-align: middle;
	}
	#nav li .img {
		width: 50%;
		max-width: 104px;
		margin: 0 auto 0 auto;
	}
	#nav li:hover {
		opacity: .7;
	}

	#nav li .txt {
		font-size: 22px;
	}
	#nav li a {
		color: #ffffff;
		text-decoration: none;
	}


@media screen and (max-width: 768px) {
	
#nav {
	width: 100%;
	margin: 0 auto 0 auto;
	padding: 0 0 0 0;
	border-bottom: 1px solid #666666;
	
	display: none;
}
	#nav li {
		text-align: center;
		padding: 10px 0 10px 0;
		border-bottom: 1px solid #666666;
	}
	#nav li .img {
		width: 20%;
		max-width: 20%;
		margin: 0 auto 0 auto;
	}
	#nav li .txt {
		font-size: 18px;
	}
	
}

.gallery {
	padding: 80px 0 120px 0;
	text-align: center;
}
	.gallery h2 {
		width: 70%;
		max-width: 178px;
		margin: 0 auto 40px auto;
	}
	.gallery ul {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap:         wrap;
		-webkit-justify-content: center;
		justify-content:         center;
	}
		.gallery ul li {
			width: 50%;
			line-height: 0;
				
			-webkit-transition: opacity .3s;
			-o-transition: opacity .3s;
			transition: opacity .3s;
			vertical-align: middle;
		}
		.gallery ul li:hover {
			opacity: .7;
		}
	.gallery .btn {
		margin: 30px auto 0 auto;
	}
			
@media screen and (max-width: 768px) {

.gallery {
	padding: 40px 0 60px 0;
	text-align: center;
}
	.gallery h2 {
		width: 30%;
		max-width: 30%;
		margin: 0 auto 20px auto;
	}
	.gallery .btn p {
		font-size: 12px;
	}
	
}



#mv {
	position: relative;
	height: 50%;
	overflow: hidden;

}
	#mv .img {
		width: 100%;
		line-height: 0;
		z-index: -1;
		position: relative;
		
	}
	#mv .img .sp {
		display: none !important;
	}
	#mv .img .pc {
		display: inline !important;
	}
	#mv .txtBox {
		width: 1000px;
		position: absolute;
		top: 0;
		left: 50%;
		margin-left: -500px;
		color: #ffffff;
		height: 100%;
		
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items:         center;
		
		z-index: 10;
	}
	#mv .txtBox.typeR {
		-webkit-justify-content: flex-end;
		justify-content:         flex-end;
		
		text-align: right;
	}
		#mv .txtBox .tit {
			width: 100%;
			max-width: 380px;
		}
		#mv .txtBox .lead {
			margin: 25px 0 0 0;
text-shadow: 2px  2px 5px rgba(0, 0, 0, 0.3),
            -2px  2px 5px rgba(0, 0, 0, 0.3),
             2px -2px 5px rgba(0, 0, 0, 0.3),
            -2px -2px 5px rgba(0, 0, 0, 0.3);
		}
		#mv .txtBox.typeR .lead {
text-shadow: 2px  2px 5px rgba(0, 0, 0, 1.0),
            -2px  2px 5px rgba(0, 0, 0, 1.0),
             2px -2px 5px rgba(0, 0, 0, 1.0),
            -2px -2px 5px rgba(0, 0, 0, 1.0);
		}
		#mv .txtBox .btn {
			width: 340px;
			margin: 25px 0 0 0;
			position: relative;
			z-index: 1000;
		}
		#mv .txtBox.typeR .btn {
			margin: 25px 0 0 40px;
		}
		
	#mv .swiper-pagination span {
		border-radius: 0;
		width: 120px;
		height: 5px;
		background: #ffffff;
		margin: 0 2px 0 2px;
	}
	#mv .swiper-pagination-white .swiper-pagination-bullet {
		opacity: 1.0;
	}
	#mv .swiper-pagination-white .swiper-pagination-bullet-active {
		opacity: 1.0;
		background: #ff0000;
	}
	
@media screen and (max-width: 1000px) {
	#mv .txtBox {
		width: 90%;
		position: absolute;
		top: 0;
		left: 50%;
		margin-left: -45%;
		color: #ffffff;
		height: 100%;
		
		display: -webkit-flex;
		display: flex;
		-webkit-align-items: center;
		align-items:         center;
	}
	#mv .img .sp {
		display: inline !important;
	}
	#mv .img .pc {
		display: none !important;
	}
		#mv .txtBox .tit {
			width: 100%;
			max-width: 300px;
		}
		#mv .txtBox .lead {
			margin: 25px 0 0 0;
			text-shadow: 0 0 7px rgba(0, 0, 0, 0.80);
		}
		#mv .txtBox .btn {
			width: 340px;
			margin: 25px 0 0 0;
		}
}
	
@media screen and (max-width: 768px) {

	#mv .txtBox {
		width: 40%;
		position: absolute;
		top: 0;
		left: 5%;
		margin-left: 0;
	}
	#mv .txtBox div {
		width: 100%;
	}
	#mv .txtBox.typeR {
		top: 0;
		left: auto;
		right: 5%;
		margin-left: 0;
	}
		#mv .txtBox .tit {
			width: 80%;
			max-width: 80%;
		}
		#mv .txtBox.typeR .tit {
			width: 85%;
			max-width: 85%;
			margin-left: 15%;
		}
		#mv .txtBox .lead {
			margin: 0 0 0 0;
			font-size: 10px;
			font-weight: bold;
		}
		#mv .txtBox .btn {
			margin: 10px 0 0 0;
		}
		#mv .txtBox.typeR .btn {
			margin: 10px 0 0 10%;
		}
		
		#mv .txtBox .btn p {
			width: 40%;
			margin: 0 0 0 0;
			padding: 3px 0 3px 0;
			font-size: 12px;
			
		}

	#mv .swiper-pagination {
		bottom: 0;
	}
	#mv .swiper-pagination span {
		border-radius: 0;
		width: 50px;
		height: 3px;
		background: #ffffff;
		margin: 0 2px 0 2px;
	}
	
}



#container .officialWrap {
	width: 100%;
	min-width: 1000px;
	margin: 0 auto 125px auto;
	
		-webkit-transition: opacity .3s;
		-o-transition: opacity .3s;
		transition: opacity .3s;
		vertical-align: middle;

}
	#container .officialWrap:hover {
		opacity: 0.7;
		cursor: pointer;
	}
	#container .officialWrap div.bnr {
		width: 100%;
		line-height: 0;
		padding: 0 0 0 0;
		margin: 0 auto 0 auto;
	}

@media screen and (max-width: 768px) {


#container .officialWrap {
	width: 100%;
	min-width: 100%;
	margin: 0 0 50px 0;
}
	#container .officialWrap div.bnr {
		width: 100%;
		margin: 0 auto 0 auto;
		padding: 0 0 0 0;
	}
		#container .officialWrap div.bnr img {
			width: 100%;
			margin: 0 0 0 0;
			max-width: auto;
		}
	#container .bnrWrap {
		width: 100%;
		margin: 3% auto 0 auto;
	}
}
	
/*-----------------------------------------------------------

	footer setting

-----------------------------------------------------------*/

#container #footer {
	background: #1d1d1b;
	width: 100%;
	margin: 0 0 0 0;
	padding: 50px 0 50px 0;
	overflow: hidden;
	color: #666666;
	border-top: 1px solid #333333;
	
	text-align: center;
	
	display: -webkit-flex;
	display: flex;
	-webkit-flex-direction: column;
	flex-direction:         column;
	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;
}

	#footer .sns {
		width: 100%;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: center;
		justify-content:         center;
	}
	#footer .sns li {
		width: 25px;
		margin: 0 25px 0 0;
		line-height: 0;
			-webkit-transition: opacity .3s;
			-o-transition: opacity .3s;
			transition: opacity .3s;
			vertical-align: middle;
	}
	#footer .sns li:hover {
		opacity: 0.7;
	}

#container #footer p.copyright {
	font-size: 11px;
	line-height: 18px;
	margin: 25px auto 0 auto;
}
#container #footer p.copyright:before {
	content: "PR";
	display: inline-block;
	font-size: 12px;
	margin: 0 8px 0 0;
	padding: 1px 8px 0 8px;
	border: 1px solid #696969;
}



@media screen and (max-width: 768px) {

#container #footer {
	width: 100%;
	padding: 30px 0 30px 0;
}
#container #footer .footerWrap {
	width: 96%;
}
#container #footer .logo {
	width: 8%;
	margin: 0 auto;
}
#container #footer .logo img {
	width: 100%;
	height: auto;
}
	#footer .sns li {
		margin: 0 10px 0 10px;

	}
#container #footer .copyWrap {
	padding: 20px 0 0 0;
}
#container #footer .copyWrap p.copyright {
	font-size: 10px;
}
#container #footer .copyWrap p.copyright:before {
	font-size: 10px;
	margin: 0 4px 4px 0;
	padding: 0 5px 0 5px;
}


}