@charset "utf-8";
.mbYTP_wrapper {
	opacity: 1 !important;		/* 背景動画ﾌｪｰﾄﾞさせない */
}
body{
	position: relative;
}

body #wrapperAll {
	position: relative;
	z-index: 100;
	width: auto;
	min-width: 964px;
	background: transparent;
	}
	body #wrapperAll > * {
		margin: auto;
		}
#impact-ad {
	display: none;
}

#headerAreaWrapper {
	width: 100%;
	background: #fff;
	}
	#headerAreaWrapper #headerArea {
		margin-left: auto;
		margin-right: auto;
	}

#contentArea {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	position: relative;
	z-index: 50;
	overflow: hidden;
	}
#contentArea img {
	margin: auto;
	display: block;
	}
#contentArea .btn {
	position: absolute;
	z-index: 101;
	right: 50%;
	top: 20px;
	width: 964px;
	margin-right: -482px;
	text-align: right;
	}
	#contentArea .btn .switchLang,
	#contentArea .btn .switchLang a,
	#contentArea .btn .share {
		display: inline-block;
		font-size: 0;
		}
	#contentArea .btn .switchLang {
		padding-right: 15px;
		border-right: 2px solid #fff;
		}
	#contentArea .btn .share {
		padding-left: 10px;
		}
	#contentArea .btn .share li {
		margin: 0;
		}
ul.share {
	letter-spacing: -0.4em;
	}
	ul.share > li {
		display: inline-block;
		margin-left: 20px;
		letter-spacing: normal;
		}
		ul.share > li a {
			display: block;
			}

.loading #mainTitle {
	visibility: hidden;
	}
#mainTitle {
	position: relative;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	min-height: 620px;
	padding-top: 50px;
	background: url(../IMAGES/bg_yt_bg.png) center top repeat;
	}
	#mainTitle .bg {
		width: 100%;
		height: 100%;
		position: absolute;
		top: 0;
		left: 0;
		background: url(../SP/IMAGES/main.jpg) no-repeat center center;
	}
	#mainTitle #nekoAnime {
		position: relative;
		width: 196px;
		height: 229px;
		margin: auto;
		}
		#mainTitle #nekoAnime .image1 {
			position: absolute;
			z-index: 4;
			left: 0px;
			top: 75px;
			width: 192px;
			height: 192px;
			}
		#mainTitle #nekoAnime .image2 {
			position: absolute;
			z-index: 3;
			right: 0px;
			top: 51px;
			width: 47px;
			height: 107px;
			}
		#mainTitle #nekoAnime .image3 {
			position: absolute;
			top: 75px;
			width: 41px;
			width: 37px;
			}
		#mainTitle #nekoAnime .image3.left {
			z-index: 6;
			left: 19px;
			filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='./IMAGES/img_logo-3.png',sizingMethod='scale')\9;
			}
		#mainTitle #nekoAnime .image3.right {
			z-index: 7;
			right: 36px;
			filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src='./IMAGES/img_logo-4.png',sizingMethod='scale')\9;
			}
		#mainTitle #nekoAnime .image3.move {
			z-index: 2;
			}
		#mainTitle #nekoAnime .image5 {
			position: absolute;
			z-index: 5;
			left: 24px;
			top: 0px;
			width: 145px;
			height: 108px;
			}
		#mainTitle #nekoAnime .image5.move {
			z-index: 1;
			}
	#mainTitle h1 {
		margin-top: 20px;
		position: relative;
		}
		#mainTitle h1 img {
			width: 280px;
		}

	#mainTitle h1.EN {
		margin-top: 30px;
		}
	#mainTitle .scroll {
		position: absolute;
		bottom: 5px;
		width: 100%;
		}
	#mainTitle .yt_lb {
		width: 280px;
		margin: 30px auto 0;
		display: block;
		position: relative;
		}
		#contentArea .yt_lb img {
			width: 100%;
			}
	#mainTitle .entry {
		position: absolute;
		bottom: 20px;
		right: 20px;
		}
	#mainTitle .entryClose {
		margin-left: -330px;
		position: absolute;
		left: 50%;
		bottom: 30px;
		text-align: center;
		}

/* 2020/11/17追記*/
.bnr_wrap{
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 1000;
}
.bnr_wrap a{
	display: block;
	transition: all 0.3s ease-out;
}
.bnr_wrap a:hover{
	transform: scale(1.05);
}

.bnr_wrap .inner{
	position: relative;
}

.bnr_wrap .inner .btn_tw{
	display: block;
	position: absolute;
	z-index: 10;
	top: 77px;
	left: 15px;
	transition: all 1s ease-out;
}
.bnr_wrap .inner .btn_tw:hover{
	opacity: 0.5;
	transition: all 1s ease-out;
}

.bnr_wrap .inner .btn_insta{
	display: block;
	position: absolute;
	z-index: 10;
	top: 77px;
	right: 15px;
	transition: all 1s ease-out;
}
.bnr_wrap .inner .btn_insta:hover{
	opacity: 0.5;
	transition: all 1s ease-out;
}
		

#mainText {
	position: relative;
	background: #fff;

	}
	#mainText .text {
		z-index: 11;
		width: 640px;
		margin: 0 auto;
		padding: 100px 162px;
		position: relative;
		}
	#mainText .text:after {
		content: '';
		width: 240px;
		height: 240px;
		position: absolute;
		top: 480px;
		background: url(../IMAGES/thumb.jpg) right top no-repeat;
		}
	.jp #mainText .text:after {
		right: 160px;
		}
	.en #mainText .text:after {
		top: 520px;
		right: -60px;
		}
		#mainText .text .lead img {
		margin: 0;
		}
		.en #mainText .text .lead img {
		width: 100%;
		}
		#mainText .text p {
			margin: 60px auto;
			color: #666;
			font-size: 1.8em;
			line-height: 2.4;
			text-align: left;
			letter-spacing: 0.02em;
			}
	#mainText .next {
		height: 110px;
		padding-top: 70px;
		background: #77c747;
		position: relative;
		}
		#mainText .next:before {
			margin-left: -177px;
			content: url( "../IMAGES/btn_neko.png" );
			display: block;
			position: absolute;
			top: -86px;
			left: 50%;
			}

	#ACTION1 {
	//height: 500px;
	height: 640px;
	}
	
	/* 追加202506 */
	#ACTION1 {
		display: flex;
		//align-items: center;
		justify-content: center;
	}
	#ACTION1 .image{
		box-sizing: border-box;
		//width: 50%;
		height: 100%;
	}
	#ACTION1 .txt{
		max-width: 530px;
	}
	#ACTION1 .txt h2 img{
		height: 29px;
		width: auto;
	}
	#ACTION1 .txt p{
		margin-top: 25px;
		color: #666;
		font-size: 1.6em;
		line-height: 1.8;
		text-align: left;
	}
	#ACTION1 .text_wrap{
		margin-top: 50px;
	}
	#ACTION1 .jaf{
		background: #f3f3f3;
		border-radius: 20px;
		padding: 20px !important;
		margin-top: 30px;
	}
	#ACTION1 .jaf a{
		position: relative;
		display: inline-block;
	}
	#ACTION1 .jaf a::after{
		content: "";
		position: absolute;
		top: 6px;
		right: -24px;
		width: 16px;
		height: 16px;
		background-image: url(../IMAGES/icon_blank.svg);
		background-repeat: no-repeat;
	}
	
#ACTION2 {
	height: 600px;
	}
#ACTION3 {
	height: 400px;
	margin-bottom: 0;
	background: #fff;
	}
#ACTION3 {
	background: #f3f3f3;
	}
#ACTION1,
#ACTION2,
#DOWNLOAD,
#BANNER {
	background: #fff;
	}
	#ACTION2 > div,
	#ACTION3 > div {
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		-ms-box-sizing: border-box;
		box-sizing: border-box;
		width: 50%;
		height: 100%;
		float: left;
		}
	#ACTION3 > div {
		float: left;
		}
	#ACTION2 > div {
		float: right;
		}
	#ACTION1 .text {
		padding-top: 160px;
		}
	#ACTION1 .text.EN {
		padding-top: 180px;
		}
	#ACTION2 .text {
		padding-top: 120px;
		}
	#ACTION3 .text {
		padding-top: 75px;
		}
		#ACTION1 .text > *,
		#ACTION2 .text > *,
		#ACTION2 .image > *,
		#ACTION3 .text > * {
			width: 482px;
			clear: both;
			}
		#ACTION2 .image > *,
		#ACTION3 .text > * {
			float: right;
			}
		#ACTION1 .text > *,
		#ACTION2 .text > * {
			float: left;
			}
			#ACTION1 .text h2 img,
			#ACTION2 .text h2 img,
			#ACTION3 .text h2 img {
				height: 30px;
				}
			#ACTION1 .text.EN h2 img {
				width: 360px;
				height: auto;
				}
		#ACTION1 .text p,
		#ACTION2 .text p,
		#ACTION3 .text p {
			margin-top: 25px;
			color: #666;
			font-size: 1.6em;
			line-height: 1.8;
			text-align: left;
			}
		#ACTION1 .text:after,
		#ACTION2 .text:after,
		#ACTION3 .text:after {
			content: "";
			display: block;
			clear: both;
			}
	#ACTION1 .image,
	#ACTION3 .image {
		padding-left: 25px;
		}
	#ACTION2 .text {
		padding-right: 25px;
		}
	#ACTION1:after,
	#ACTION2:after,
	#ACTION3:after {
		content: "";
		display: block;
		clear: both;
		}

	#ACTION1 #knockAnime {
		position: relative;
		width: 482px;
		height: 100%;
		margin: 0 0 0 auto;
		overflow: hidden;
		display: none;
		}
		#ACTION1 #knockAnime .inner {
			width: 400px;
			margin: 75px auto;
			position: relative;
			}
		#ACTION1 #knockAnime .inner_jp {
			width: 400px;
			margin: 140px auto 0;
			position: relative;
			}
			#ACTION1 .image #knockAnime img {
				position: absolute;
				left: 0;
				top: 0;
				width: 350px;
				}
	#ACTION1 img {
		display: inline;
	}

#ACTION2 .image img {
	width: 322px;
	margin-top: 85px;
	}
#ACTION2 .button img {
	display: block;
	width: 215px;
	margin: 30px auto;
	}

#ACTION3 .image {
	position: relative;
	}
	#twWidgets {
		position: absolute;
		left: 60px;
		bottom: 0;
		width: 250px;
		padding: 52px 18px 0;
		margin: auto auto -10px;
		background: url( "../IMAGES/bg_widgets.png" ) center bottom no-repeat;
		}
#ACTION3 .text h2,
#ACTION3 .text p {
	width: 430px;
	padding-left: 52px;
	}
#ACTION3 .text h2 img {
	display: inline;
	}

#ACTION3 ul.share {
	margin-top: 30px;
	margin-right: 20px;
	text-align: center;
	}

#DOWNLOAD {
	padding-top: 50px;
}
#DOWNLOAD > h2 {
	margin: 0 auto;
	padding: 50px 0;
	background: #68b82e;
	}
	#DOWNLOAD > h2 img {
		height: 67px;
		}
	#DOWNLOAD > h2.EN img {
		width: 308px;
		height: auto;
		}
#DOWNLOAD h2 + p {
	margin-top: 3em;
	font-size: 1.6em;
	}
#DOWNLOAD > p {
	margin: 1em auto;
	color: #666;
	font-size: 1.4em;
	line-height: 1.8;
	text-align: center;
	}
#DOWNLOAD > p.caution {
	margin-bottom: 0;
	padding-bottom: 1em;
	}
#DOWNLOAD .column2 {
	width: 964px;
	margin: auto;
	}
#DOWNLOAD .logo,
#DOWNLOAD .sticker {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	width: 50%;
	padding: 50px 0;
	margin: 60px auto 50px;
	}
#DOWNLOAD .logo {
	float: left;
	border-right: #ccc solid 1px;
	}
#DOWNLOAD .sticker {
	float: right;
	}
	#DOWNLOAD .logo > *,
	#DOWNLOAD .sticker > * {
		width: 482px;
		}
	#DOWNLOAD .logo > * {
		float: right;
		}
	#DOWNLOAD .sticker > * {
		float: left;
		}
	#DOWNLOAD .logo:after,
	#DOWNLOAD .sticker:after,
	#DOWNLOAD .poster:after {
		content: "";
		display: block;
		clear: both;
		}
	#DOWNLOAD h3 {
		color: #666;
		font-size: 1.8em;
		text-align: center;
		}
	#DOWNLOAD .image {
		margin: 50px auto;
		}
	#DOWNLOAD .sticker .image.EN {
		padding-left: 8px;
		}
		#DOWNLOAD .image img {
			width: 220px;
			}
		#DOWNLOAD .image.EN img {
			width: 349px;
			}
		#DOWNLOAD ul li {
			position: relative;
			width: 215px;
			padding-top: 43px;
			margin: 15px auto auto;
			}
			#DOWNLOAD ul li a {
				position: relative;
				z-index: 2;
				display: block;
				}
				#DOWNLOAD ul li a img {
					width: 100%;
					}
			#DOWNLOAD ul li .nekoIcon {
				position: absolute;
				left: 50%;
				top: 43px;
				z-index: 1;
				width: 88px;
				margin-left: -44px;
				}
				#DOWNLOAD ul li .nekoIcon img {
					width: 100%;
					}
	#DOWNLOAD .poster {
		width: 964px;
		margin: 0 auto;
		border-top: #ccc solid 1px;
		}
		#DOWNLOAD .poster .image,
		#DOWNLOAD .poster .info {
			width: 50%;
			}
		#DOWNLOAD .poster .image {
			float: left;
			}
			#DOWNLOAD .poster .image img {
				width: 320px;
			}
		#DOWNLOAD .poster .info {
			float: right;
			margin-top: 150px;
			}

#DOWNLOAD:after {
	content: "";
	display: block;
	clear: both;
	}

#BANNER {
	padding: 50px 0;
	}

.footer {
	background: #000;
}

#YTarea {
	position: fixed;
	top: -9999px;
	left: -9999px;
	z-index: -1;
	display: table;
	width: 100%;
	height: 100%;
	}
#YTarea.play {
	top: 0;
	left: 0;
	display: table;
	z-index: 10000;
	cursor: pointer;
	}
	#YTarea:before {
		content: "";
		position: absolute;
		left: 0;
		top: 0;
		z-index: 0;
		display: block;
		width: 100%;
		height: 100%;
		}
	#YTarea.play:before {
		background: #000;
		opacity: 0.6;
		filter: alpha( opacity = 60 );
		-ms-filter: "alpha( opacity = 60 )";
		}
	#YTarea .player {
		position: relative;
		z-index: 1;
		display: table-cell;
		vertical-align: middle;
		}
		#YTplayer {
			display: block;
			width: 800px;
			height: 450px;
			margin: auto;
			}

#COUNTER {
	padding: 65px 0 80px;
	background: #68b82e;
	}
	#COUNTER h2 {
		text-align: center;
		}
		#COUNTER h2 img,
		#COUNTER h2 span {
			display:inline-block;
			vertical-align: bottom;
		}
		#COUNTER h2 span {
			margin-left: 1em;
			font-size: 1.4em;
			color: #fff;
		}
	#COUNTER ul {
		margin-top: 40px;
		text-align: center;
	}
	#COUNTER li,
	#COUNTER li span,
	#COUNTER li:before,
	#COUNTER li:after {
		height: 53px;
		display: inline-block;
	}
	#COUNTER li.tw:before,
	#COUNTER li.instagram:before {
		margin-right: 15px;
	}
	#COUNTER li.tw:after,
	#COUNTER li.instagram:after {
		margin-left: 10px;
	}
	#COUNTER li.tw:before {
		content: url(../IMAGES/COUNTER/x_icon.png);
	}
	#COUNTER li.tw:after {
		content: url(../IMAGES/COUNTER/x_unit.png);
	}
	
	#COUNTER li.instagram:before {
		content: url(../IMAGES/COUNTER/instagram_icon.png);
	}
	#COUNTER li.instagram:after {
		content: url(../IMAGES/COUNTER/instagram_unit.png);
	}
	#COUNTER li.instagram {
		margin-left: 40px;
	}

#INTRO_IMAGES {
	padding: 0 0 30px;
	background: #fff;
	}
	#INTRO_IMAGES .text {
		width: 804px;
		margin: 0 auto;
		padding: 100px 0 100px 240px;
		text-align: left;
	}
	#INTRO_IMAGES .text p {
		font-size: 1.8em;
		line-height: 2;
		text-align: left;
		letter-spacing: 0.02em;
	}
	#INTRO_IMAGES .text p + p {
		margin-top: 30px;
	}
	.tile {
		min-width: 964px;
		margin: 0 -2px;
		overflow: hidden;
		letter-spacing: -.40em;
		font-size: 0;
		}
		.tile:first-child {
			padding-top: 2px;
		}
		.tile .col25,
		.tile .col33,
		.tile .col50,
		.tile .col66,
		.tile .col100 {
			display: inline-block;
			vertical-align: middle;
			float: none;
			letter-spacing: normal;
		}
		.tile .col25 {
			width: 25%;
		}
		.tile .col33 {
			width: 33.33333333%;
		}
		.tile .col50 {
			width: 50%;
		}
		.tile .col66 {
			width: 66.66666666%;
		}
		.tile .col100 {
			width: 100%;
		}
		.tile .col25,
		.tile .col50 {
			background: #fff;
			}
			.tile .inner {
				padding: 2px;
				overflow: hodden;
				}
				.tile a {
					display: block;
					position: relative;
					overflow: hidden;
					}
					.tile img {
						width: 100%;
					}
					.tile .name {
						width: 100%;
						height: 40px;
						position: absolute;
						left: 0;
						bottom: -40px;
						color: #fff;
						line-height: 40px;
						background: url(../IMAGES/bg_tw.png) no-repeat 10px center #000;
						}
					.tile .name.tw {
						background-image: url(../IMAGES/bg_tw.png);
						}
					.tile .name.instagram {
						background-image: url(../IMAGES/bg_instagram.png);
						}
					.tile .name.fb {
						background-image: url(../IMAGES/bg_fb.png);
						}
						.tile .name p {
							padding-left: 28px;
							font-size: 12px;
						}
					.tile .dl {
						width: 100%;
						height: 40px;
						position: absolute;
						left: 0;
						bottom: -40px;
						color: #fff;
						line-height: 40px;
						background: rgba(256,256,256,0.6);
						filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=0,StartColorStr=#60ffffff,EndColorStr=#60ffffff);/*IE8以下用*/
						}
						.tile .dl p {
							padding-left: 10px;
							font-size: 12px;
							color: #000;
							text-align: center;
						}

#OMOIYARI {
	background: #68b82e;
	position: relative;
	}
	#OMOIYARI > div {
		width: 924px;
		margin: 0 auto;
		padding: 90px 20px;
		position: relative;
		z-index: 2;
		background: #68b82e;
		}
		#OMOIYARI p {
			margin-top: 30px;
			font-size: 1.8em;
			color: #fff;
			line-height: 2.4;
		}
	#OMOIYARI .nekoIcon {
		width: 177px;
		height: 86px;
		margin-left: -354px;
		position: absolute;
		top: 0;
		left: 50%;
		display: block;
		z-index: 1;
		}
		#OMOIYARI .nekoIcon img {
			width: 100%;
		}

#RESEARCH_RESULT {
	background: #fff;
	}

#RESEARCH_RESULT .text {
	width: 964px;
	margin: 0 auto;
	padding: 60px 0 30px;
	}
	#RESEARCH_RESULT p {
		margin-top: 30px;
		font-size: 1.6em;
		line-height: 1.8;
		text-align: left;
		}
	#RESEARCH_RESULT .text h2 {
		width: 669px;
	}
	#RESEARCH_RESULT .text p span {
			font-weight: bold;
		}

	#RESEARCH_RESULT .graph {
			padding: 36px 0;
			background: url(../IMAGES/bg_tile.png) center top repeat;
		}
	#RESEARCH_RESULT .graph .dummy {
			height: 1px;
			margin: 0;
			padding: 0;
		}
	#RESEARCH_RESULT .graph p {
			text-align: center;
		}
		
		/* 201125追記*/
#NEKOBANBAN_LOGO .btn_naomi{
	width: 558px;
	margin: 0 auto 0px;
	padding-bottom: 40px;
	transition: all 1s ease-out;
}

#NEKOBANBAN_LOGO .btn_naomi:hover{
	opacity: 0.5;
	transition: all 1s ease-out;
}
		

#NEKOBANBAN_LOGO {
	padding: 90px 0 0;
	background: #68b82e;
	}
	#NEKOBANBAN_LOGO h2 {
		width: 475px;
		margin: 0 auto;
		}
		#NEKOBANBAN_LOGO h2 img {
			width: 100%;
		}
	#NEKOBANBAN_LOGO > p {
		margin: 30px 0 60px;
		font-size: 1.8em;
		color: #fff;
		line-height: 2.4;
		text-align: center;
	}
	#NEKOBANBAN_LOGO .logos {
		padding: 0 0 120px;
		background: #fff;
	}
	#NEKOBANBAN_LOGO .logo .static {
		position: relative;
		opacity: 0;
	}
	#NEKOBANBAN_LOGO .logo .anim {
		position: absolute;
		top: 50%;
		left: 50%;
		margin-left: -50%;
		margin-top: -50%;
	}