@charset "UTF-8";
/*
* top.css
*
*/

/* ------------------------
splash
------------------------ */
#s5-splash {
	width: 100vw;
	height: calc(100vh - 150px);
	overflow: hidden;
}

#s5-splashBg {
	display: none;
	width: 100vw;
	height: 100%;
}

#sp01,
#sp02,
#sp03,
#sp04,
#sp05_l,
#sp05_s,
#sp06_l,
#sp06_s,
#sp07_l,
#sp07_r,
#sp08 {
	display: none;
}

#s5-splashInner img,
#sp01,
#sp02,
#sp03,
#sp04,
#sp05_l,
#sp05_s,
#sp06_l,
#sp06_s,
#sp07_l,
#sp07_r,
#sp08 {
	position: absolute;
}


#sp02 {
	z-index: 200;
}

#sp03 {
	z-index: 230;
}

#sp04 {
	z-index: 240;
}

#sp05_l {
	z-index: 250;
}

#sp05_s {
	z-index: 251;
}

#sp06_l {
	z-index: 260;
}

#sp06_s {
	z-index: 261;
}

#sp07_l {
	z-index: 270;
}

#sp07_r {
	z-index: 271;
}

#sp08 {
	z-index: 201;
}

@media screen and (max-width: 639px) {
	#s5-splashInner {
		position: relative;
		width: 100%;
		height: 100%;
		background-color:
	}

	#s5-splashInner,
	#s5-splashInner img,
	#sp01,
	#sp02,
	#sp03,
	#sp04,
	#sp05_l,
	#sp05_s,
	#sp06_l,
	#sp06_s,
	#sp07_l,
	#sp07_r,
	#sp08 {
		top: calc(50% - 10px);
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	#sp01 img {
		width: 100vw;
		height: auto;
	}

	#sp02 img {
		width: 150px;
		height: auto;
	}

	#sp03 img {
		width: 150px;
		height: auto;
	}

	#sp04 img {
		width: 150px;
		height: auto;
	}

	#sp05_s img {
		width: 120px;
		height: auto;
	}

	#sp06_s img {
		width: 107px;
		height: auto;
	}

	#sp08 img {
		width: 49px;
		height: auto;
	}

	#sp02 {
		top: calc(50% - 9px);
		left: 50%;
	}

	#sp05_s {
		top: calc(50% + 44px);
		left: 21%;
	}

	#sp06_s {
		top: calc(50% + 44px);
		left: 79%;
	}

	#sp07_l {
		top: calc(50% + 20px);
		left: 0%;
	}

	#sp07_r {
		top: calc(50% - 35px);
		left: 100%;
	}

	#sp08 {
		top: calc(50% - 22px);
		left: calc(50% - 22px);
	}
}

@media screen and (min-width: 640px) {
	#s5-splashInner {
		position: relative;
		width: 1290px;
		height: 800px;
	}

	#s5-splashInner,
	#s5-splashInner img,
	#sp01,
	#sp02,
	#sp03,
	#sp04,
	#sp05_l,
	#sp05_s,
	#sp06_l,
	#sp06_s,
	#sp07_l,
	#sp07_r {
		top: 45%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
	}

	#sp08 {
		top: 300px;
		left: 580px;
	}

	#sp05_l {
		top: 500px;
		left: 347px;
	}

	#sp06_l {
		top: 500px;
		left: 920px;
	}

	#sp07_l {
		top: 433px;
		left: 0;
	}

	#sp07_r {
		top: 284px;
		left: 100%;
	}
}

/* ------------------------
mv
------------------------ */
.top_mv {
	position: relative;
	background: #fff;
	text-align: center;
}

.top_mv_photo {
	opacity: 0;
	overflow: hidden;
}

.top_mv_photo img {
	margin: 0 auto;
	width: 100%;
	transform: scale(1.05);
	transition: all 1s ease;
}

.top_mv_photo.active img {
	transform: scale(1);
}

.top_mv_title {
	position: absolute;
}

.top_mv_imgs {
	position: absolute;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	left: 0;
	/*width:100%;
	-webkit-box-pack: flex-start;
	-ms-flex-pack: flex-start;
	justify-content: flex-start;*/
	width: 674px;
}

@media screen and (max-width: 1290px) {
	.top_mv_imgs {
		/* width: 50%; */
		width: calc(674 / 1290 * 100vw);
	}
}

@media screen and (max-width: 639px) {
	.top_mv_imgs {
		right: 0;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
		/*width: 67.33%;*/
		width: 90%;
		margin: 0 auto;
	}
}



.top_mv_title .top_mv_title_item {
	position: relative;
	top: 40px;
	opacity: 0;
}

.top_mv_imgs .top_mv_imgs_item {
	position: relative;
	top: 40px;
	opacity: 0;
	width: auto;
}

.top_mv_imgs .top_mv_imgs_item .mv_img_fullsize img {
	width: auto;
}

@media screen and (max-width: 639px) {
	.top_mv_title {
		top: 40vw;
		left: 0;
		right: 0;
		margin: 0 auto;
		width: 89.33%;
	}

	.top_mv_imgs {
		bottom: 1vw;
	}
}

@media screen and (min-width: 640px) {
	.top_mv_title {
		top: 27%;
		right: 3.41%;
		/*margin-left:-21.5%;*/
		width: 44.18%;
	}

	.top_mv_imgs {
		left: 3%;
		bottom: 1.5%;
		/*padding:0 20%;*/
	}
}

/* ------------------------
concept
------------------------ */
.top_concept_text picture {
	opacity: 0;
	transition: opacity 1s ease;
}

.top_concept_img01 li {
	opacity: 0;
	transition: opacity 1s ease;
}

.top_concept_img02 li {
	opacity: 0;
	transition: opacity 1s ease;
}

@media screen and (max-width: 639px) {
	.top_concept {
		padding-bottom: 5.5vw;
		background: #b0b8c1;
		/* Old browsers */
		background: -moz-linear-gradient(left, #b0b8c1 0%, #ffffff 50%, #CCD1D7 100%);
		/* FF3.6-15 */
		background: -webkit-linear-gradient(left, #b0b8c1 0%, #ffffff 50%, #CCD1D7 100%);
		/* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right, #b0b8c1 0%, #ffffff 50%, #CCD1D7 100%);
		/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b0b8c1', endColorstr='#b0b8c1', GradientType=1);
		/* IE6-9 */
	}

	.top_concept_img01,
	.top_concept_img02 {
		float: left;
		width: 50%;
	}

	.top_concept_img01 li.active_sp {
		opacity: 1;
	}

	.top_concept_img02 li.active_sp {
		opacity: 1;
	}

	.top_concept_text picture.active_sp {
		opacity: 1;
	}
}

@media screen and (min-width: 640px) {
	.top_concept {
		padding: 1.5vw 0;
		background: #b0b8c1;
		/* Old browsers */
		background: -moz-linear-gradient(left, #b0b8c1 0%, #b0b8c1 22%, #ffffff 44%, #ffffff 56%, #CCD1D7 78%, #CCD1D7 100%);
		/* FF3.6-15 */
		background: -webkit-linear-gradient(left, #b0b8c1 0%, #b0b8c1 22%, #ffffff 44%, #ffffff 56%, #CCD1D7 78%, #CCD1D7 100%);
		/* Chrome10-25,Safari5.1-6 */
		background: linear-gradient(to right, #b0b8c1 0%, #b0b8c1 22%, #ffffff 44%, #ffffff 56%, #CCD1D7 78%, #CCD1D7 100%);
		/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
		filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#b0b8c1', endColorstr='#b0b8c1', GradientType=1);
		/* IE6-9 */
	}

	.top_concept_inner {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin: 0 auto;
		width: 100%;
		max-width: 1200px;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.top_concept_inner img {
		width: 100%;
	}

	.top_concept_text {
		-webkit-box-ordinal-group: 3;
		-ms-flex-order: 2;
		order: 2;
	}

	.top_concept_text picture {
		display: block;
	}

	.top_concept_img01 {
		-webkit-box-ordinal-group: 2;
		-ms-flex-order: 1;
		order: 1;
	}

	.top_concept_img02 {
		-webkit-box-ordinal-group: 4;
		-ms-flex-order: 3;
		order: 3;
	}

	.top_concept_img01 li.active {
		opacity: 1;
	}

	.top_concept_img02 li.active {
		opacity: 1;
	}

	.top_concept_text picture.active {
		opacity: 1;
	}
}

/* ------------------------
gnav
------------------------ */
@media screen and (max-width: 639px) {
	.ff_gnav_wrap .ff_gnav {
		width: 100%;
		/*height: 3%;*/
	}
}

@media screen and (min-width: 640px) {
	.ff_gnav_wrap .ff_gnav {
		width: 100%;
		/*height: 2.6%;*/
	}
}

/* ------------------------
point
------------------------ */
.top_point_title {
	line-height: 0;
}

@media screen and (max-width: 639px) {
	.top_point_panel {
		margin: 0 -6.25vw;
		padding: 6.25vw;
		color: #5e646a;
	}

	.top_point_panel:nth-child(even) {
		border: 1px solid #E4E4E4;
		color: #fff;
	}

	.top_point_text {
		margin-bottom: 2.5vw;
	}

	.top_point .movie_wrap {
		padding: 4.25vw 0;
	}

	.top_point .movie_box {
		width: 100%;
		height: 100%;
		display: block;
	}

	.top_point .movie_box .movie_item {
		width: 100%;
		height: 100%;
		margin: 8vw auto 0 auto;
	}

	p.movie_item_lead {
		text-align: center;
		font-size: 1.1em;
		font-weight: bold;
		letter-spacing: 0.15em;
	}

	.top_point .movie_box .movie_item .movie_item_inner {
		position: relative;
		padding-bottom: 56.25%;
		top: 0;
		right: 0;
		width: 100%;
		height: 100%;
		margin: 3vw auto;
	}

	.top_point .movie_box .movie_item .movie_item_inner iframe {
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
	}
}

@media screen and (min-width: 640px) {
	.top_point {
		margin: 1.5vw 0;
	}

	.top_point_panel {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		margin: 0 auto 0.76vw auto;
		max-width: 890px;
		border: 1px solid #E4E4E4;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		justify-content: center;
	}

	.top_point_panel:nth-child(even) {
		-webkit-box-direction: reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}

	.top_point_panel:last-child {
		margin-bottom: 0;
	}

	.top_point_text {
		padding: 0 3.4%;
		width: 50%;
	}

	.top_point_img {
		width: 50%;
	}

	/*
	.top_point .movie_wrap {
		margin:3vw auto 0.76vw auto;
		max-width:890px;
		width:100%;
	}
	.top_point .movie_box {
		position: relative;
		width: 100%;
		padding-top: 56.25%;
	}
	.top_point .movie_box iframe{
		position: absolute;
		top: 0;
		right: 0;
		width: 100% !important;
		height: 100% !important;
	}*/


	.top_point .movie_wrap {
		margin: 7vw auto 6vw auto;
		max-width: 1200px;
		width: 100%;
	}

	.top_point .movie_box {
		height: 100%;
		overflow: hidden;
		display: -webkit-flex;
		display: flex;
		-webkit-justify-content: space-between;
		justify-content: space-between;
	}

	.top_point .movie_box .movie_item {
		width: 49%;
		height: 49%;
	}

	p.movie_item_lead {
		text-align: center;
		margin-bottom: 1.5vw;
		font-size: 1.3em;
		font-weight: bold;
		letter-spacing: 0.15em;
	}

	.top_point .movie_box .movie_item .movie_item_inner {
		position: relative;
		width: 100%;
		height: 100%;
		padding-bottom: 56.25%;
	}

	.top_point .movie_box .movie_item .movie_item_inner iframe {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
	}
}


.ff_fnav_categories .ff_fnav_category .ff_fnav_banner {
	margin-top: 13px;
}

@media screen and (min-width:640px) {
	.ff_fnav_categories .ff_fnav_category .ff_fnav_banner {
		margin-top: 20px;
		padding-right: 20px;
	}

	.ff_fnav_categories .ff_fnav_category:nth-child(2n) .ff_fnav_banner {
		padding-right: 0;
		padding-left: 20px;
	}


}

@media screen and (max-width: 639px) {
	.pc-sm {
		display: none !important;
	}
}

@media screen and (min-width: 640px) {
	.sp-sm {
		display: none !important;
	}
}

.col-02 {
	overflow: hidden;
	margin: 0 -10px;
}

.col-02 .item {
	width: 50%;
	padding: 0 10px;
	float: left;
}

@media screen and (max-width: 639px) {
	.col-02 .item {
		width: 100%;
		margin-bottom: 10px;
	}
}

/*--220322 追加--*/
@media screen and (max-width: 639px) {
	.top_mv_imgs .top_mv_imgs_item:first-child {
		margin-right: calc(15 / 750 * 100vw);
	}
}

@media screen and (max-width: 639px) {
	.ff_fnav.ff_fnav_content_bottom.ff_bnr_mt {
		margin-top: 12vw;
	}
}