@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:400,500,700,900');
@import url('https://fonts.googleapis.com/css?family=Noto+Serif+JP:400,500,600,700,900');
@import url('https://fonts.googleapis.com/css?family=Passion+One:400,700,900&display=swap');
@import url('https://fonts.googleapis.com/css?family=Anton&display=swap');
@-ms-viewport
{
	width: auto;
	initial-scale: 1;
}
@viewport
{
	width: device-width;
}

html {
	font-size: 15px;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-webkit-overflow-scrolling: touch;
}
html, body {
	min-width: 100%;
	width: 100%;
	padding: 0;
	margin: 0;
	height: 100%;
}
body {
	font-family: 'Noto Sans JP','游ゴシック体', YuGothic, '游ゴシック Medium', 'Yu Gothic Medium', '游ゴシック', 'Yu Gothic', 'メイリオ', sans-serif;
	background: #000;
	color: rgba(0,0,0,1.0);
}
* {
	box-sizing: border-box;
}
*:before,
*:after {
	box-sizing: border-box;
}
a:active,
a:focus {
	text-decoration: none;
}
/*-----------------------------------------
** loading
-----------------------------------------*/
.__loadingWrap{
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 1000;
	overflow: hidden;
	/*display: none;*/
}
.__loadingWrap img {
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -50px;
	margin-left: -50px;
}

/*プログレスバー*/
.__progressbar {
	width: 0;
	height: 100%;
	/*background: url(../img/bg-loader-pen.png) right center repeat-y;
	background-size: cover;*/
	position: fixed;
	top: 0;
	left: 0;
	transition: all 0.2s linear 0s;
}

.spinner {
	/*margin: 100px auto;*/
	width: 40px;
	height: 40px;
	position: absolute;
	bottom: 50%;
	right: 50%;
	transform: translate(50%,50%);
}

.cube1, .cube2 {
	background-color: #ce1226;
	width: 15px;
	height: 15px;
	position: absolute;
	top: 0;
	left: 0;

	-webkit-animation: sk-cubemove 1.8s infinite ease-in-out;
	animation: sk-cubemove 1.8s infinite ease-in-out;
}

.cube2 {
	-webkit-animation-delay: -0.9s;
	animation-delay: -0.9s;
}

@-webkit-keyframes sk-cubemove {
	25% { -webkit-transform: translateX(42px) rotate(-90deg) scale(0.5) }
	50% { -webkit-transform: translateX(42px) translateY(42px) rotate(-180deg) }
	75% { -webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5) }
	100% { -webkit-transform: rotate(-360deg) }
}

@keyframes sk-cubemove {
	25% { 
		transform: translateX(42px) rotate(-90deg) scale(0.5);
		-webkit-transform: translateX(42px) rotate(-90deg) scale(0.5);
	} 50% { 
		transform: translateX(42px) translateY(42px) rotate(-179deg);
		-webkit-transform: translateX(42px) translateY(42px) rotate(-179deg);
	} 50.1% { 
		transform: translateX(42px) translateY(42px) rotate(-180deg);
		-webkit-transform: translateX(42px) translateY(42px) rotate(-180deg);
	} 75% { 
		transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
		-webkit-transform: translateX(0px) translateY(42px) rotate(-270deg) scale(0.5);
	} 100% { 
		transform: rotate(-360deg);
		-webkit-transform: rotate(-360deg);
	}
}


#wrapper {
	opacity: 1;
}
#wrapper.load {
	opacity: 1;
	/*transition: opacity 5.0s;
	-moz-transition: opacity 5.0s;
	-webkit-transition: opacity 5.0s;
	-o-transition: opacity 5.0s;*/
}


/*-----------------------------------------
** section
-----------------------------------------*/
section {
	margin: 0;
	padding: 0;
}
/*@media screen and (max-width:980px) {
	section {
		margin: 0;
		padding: 0;
		min-width: 980px;
	}
}
@media screen and (min-width:641px) and (max-width:800px) {
	section {
		margin: 0;
		padding: 0;
		max-width: 100%;
		min-width: inherit;
	}
}
@media screen and (max-width:640px) {
	section {
		margin: 0;
		padding: 0;
		max-width: 100%;
		min-width: inherit;
	}
}*/

/*-----------------------------------------
** footer
-----------------------------------------*/
footer {
	margin: 0 0 0 0;
	padding: 40px 0;
	background: rgba(0,0,0,1.0);
}
footer p {
	color: rgba(255,255,255,1.0);
	font-size: 11px;
	margin: 1em 0;
}

footer.__fff {
	margin: 0 0 0 0;
	padding: 40px 0;
	background: rgba(255,255,255,1.0);
}
footer.__fff p {
	color: rgba(0,0,0,1.0);
	font-size: 11px;
	margin: 1em 0;
}

footer .col-md-7, footer .col-md-5 {
	width: 100%;
	text-align: center;
}
footer h1 {
	width: 100%;
	margin: 0;
}
footer h2, footer h2 img {
	margin:0 auto;
	width: 100%;
	height: auto;
}
footer ul {
	padding-left: 0;
	margin-left: 0;
}
footer ul li, footer h1 a {
	opacity: 1;
	-moz-transition: .5s;
	-webkit-transition: .5s;
	-o-transition: .5s;
	-ms-transition: .5s;
	transition: .5s;
}
footer ul li:hover, footer h1 a:hover {
	opacity: 0.7;
}
footer ul.snsnavi {
	width: 100%;
	height: auto;
	margin: 30px 0 0 0;
	text-align: center;
}
footer ul.snsnavi li {
	display: inline;
	margin: 0;
	padding:  0 5px;
}

footer ul.bannernav {
	width: 100%;
	height: auto;
	margin: 30px 0 0 0;
	text-align: center;
}
footer ul.bannernav li {
	display: inline;
	margin: 0;
	padding:  0 5px;
}

footer ul.corpnavi {
	width: 100%;
	height: auto;
	margin: 30px 0 0 0;
	text-align: center;
}
footer ul.corpnavi li {
	display: inline;
	margin: 0;
	padding: 0 5px;
}

footer ul.corpnavi li a {
	font-size: 11px;
	color: rgba(255,255,255,1.0);
	font-family: "メイリオ", sans-serif;
}
footer ul.corpnavi li:before {
	content: ">";
	color: rgba(255,255,255,1.0);
	padding: 0 5px 0 0;
}
footer .footer-logo {
	width: 80px;
	height: auto;
	display: block;
	margin: 0 auto;
}
footer .footer-logo img {
	width: 100%;
	height: auto;
}

.footer.black{
	padding-top:80px;
}

.sns {
	width: 50%;
	margin: 10px auto 0 auto;
	display: block;
	position: relative;
	z-index: 9;
}
.sns li {
	display: inline-block;
	margin: 0;
	padding: 0;
	position: relative;
	z-index: 10;
}
.sns li:last-child {
	top: 4px;
}
.sns li:first-child {
	top: 4px;
}
.sns li {
	width: auto;
	height: auto;
	overflow: hidden;
	margin: 0 0.5% 0 0;
	list-style: none;
	float: none;
	max-width: inherit;
	display: inline-block;
}

@media screen and (max-width:768px){
	footer {
		padding: 10px 0px;
		background: rgba(0,0,0,1.0);
	}
	footer ul {
		padding-left: 0;
		margin-left: 0;
	}
	footer ul.corpnavi li {
		width: 100%;
	}

	.li_img{
		background:url(../img/button01.png) no-repeat;
		background-size:cover;
		margin-top:2px;
	}

	.li_img02{
		background:url(../img/button02.png) no-repeat;
		background-size:cover;
		margin-top:2px;
	}
	

}



/*---------------------------------
** white footer
---------------------------------*/
footer.__fff {
	margin: 0 0 0 0;
	padding: 40px 0;
	background: rgba(255,255,255,1.0);
}
footer.__fff p {
	color: rgba(0,0,0,1.0);
	font-size: 11px;
	margin: 1em 0;
}
footer.__fff ul.corpnavi li a {
	font-size: 11px;
	color: rgba(0,0,0,1.0);
	font-family: "メイリオ", sans-serif;
}
footer.__fff ul.corpnavi li:before {
	content: ">";
	color: rgba(0,0,0,1.0);
	padding: 0 5px 0 0;
}

@media (min-width:466px) and (max-width:640px){
	footer.__fff {
		padding: 10px 0px;
		background: rgba(255,255,255,1.0);
	}
}
@media screen and (max-width:465px){
	footer {
		padding: 10px 0px;
		background: rgba(0,0,0,1.0);
	}
}



/*-----------------------------------------
** btn effect
-----------------------------------------*/
/* rumble effect */
.__rumble:hover{
	animation: rumble 0.12s linear 2;
}

@keyframes rumble{
	0%	{transform:rotate(0deg)	translate(0,0);}
	12.5%	{transform:rotate(0.4deg)	translate(1px,-1px);}
	25%	{transform:rotate(0.8deg)	translate(0px,1px);}
	37.5%	{transform:rotate(0.4deg)	translate(-1px,0);}
	50%	{transform:rotate(0deg)	translate(0,0);}
	62.5%	{transform:rotate(-0.4deg)	translate(1px,0);}
	75%	{transform:rotate(-0.8deg)	translate(0,1px);}
	87.5%	{transform:rotate(-0.4deg)	translate(-1px,-1px);}
	100%	{transform:rotate(0deg)	translate(0,0);}
}

/* ripple efect */
.ripple__effect {
	/* 値の変更はエフェクト形体・サイズ・スピードに影響する */
	width: 150px;
	height: 150px;
	/* 必須 */
	position: absolute;
	border-radius: 100%;
	pointer-events: none;
	transform: scale(0);
	opacity: 0;
}
/* エフェクト要素の色を指定 */
.ripple__effect.is-orange { background: #FFB700;}
.ripple__effect.is-blue   { background: #4aa3df;}
.ripple__effect.is-black  { background: #999;}
/* classが付与されたらアニメーションを実行 */
.ripple__effect.is-show {
	animation: ripple 0.75s ease-out;
}
@keyframes ripple {
	from {
		opacity: 1;
		background: rgba(255,255,25,,1.0);
	}
	to {
		transform: scale(2);
		opacity: 0;
		background: rgba(255,255,25,,1.0);
	}
}

@keyframes zoomUp {
	0% {
		transform: translateX(50%) scale(1.0);
	}
	50% {
		transform: translateX(50%) scale(1.1);
	}
	100% {
		transform: translateX(50%) scale(1.0);
	}
}

/* bounce effect */
.__bounce:hover {
	animation: bounce 0.5s ease-out;
}
@keyframes bounce {
	0% {transform: scale(1.0, 1.0);}
	40% {transform: scale(1.2, 1.2);}
	60% {transform: scale(1.0, 1.0);}
	80% {transform: scale(1.1, 1.1);}
	100% {transform: scale(1.0, 1.0);}
}

/* blur efect */
@keyframes blurAnimation {
	0% {
		filter: blur(20px);
	}
	100% {
		filter: blur(0);
	}
}
.__blurAnimation {
	animation: blurAnimation 1s linear 0s 1 normal forwards running;
}



