
/* 標準可変メディア
   メモ : 可変メディアでは、HTML からメディアの高さおよび幅の属性を削除する必要がある
   http://www.alistapart.com/articles/fluid-images/ 
*/

img, object, embed, video 
{
	max-width: 100%;
}

html,body
{
	min-width:1200px;
}

body
{
	font-family: BlinkMacSystemFont, "Helvetica Neue", HiraginoSans, "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", Roboto, "Droid Sans", "メイリオ", Meiryo, Verdana, "ＭＳＰゴシック", sans-serif;
	margin: 0px;
	line-height: 160%;
	text-align: center;
	color: #333;
	font-size: 14px;
	padding: 0px;
	padding-top: 100px;
}

img
{
	border: none;
	vertical-align:bottom;
	margin: 0px;
	padding: 0px;
}
p
{
	margin: 0px;
}
form
{
	margin: 0px;
	padding: 0px;
}
hr
{
	clear: both;
	margin-top: 24px;
}

a
{
	color: #E5222B;
	text-decoration: none;
	position: relative;
}

a:hover
{
	color: #666666 !important;
	-moz-transition-duration: 0.2s;
	-webkit-transition-duration: 0.2s;
	-o-transition-duration: 0.2s;
	-ms-transition-duration: 0.2s;
	transition-duration: 0.2s;
}

a:active
{
	text-decoration: underline;
}


a:hover img
{
	opacity: 0.5;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-transition-duration: 0.6s;
	-webkit-transition-duration: 0.6s;
	-o-transition-duration: 0.6s;
	-ms-transition-duration: 0.6s;
	transition-duration: 0.6s;
}

.link a::before
{
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 2;
	display: block;
	content: '';
	width: 0;
	height: 0;
	background: rgba(255,255,255,.2);
	border-radius: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	opacity: 0;

}


.link a:hover::before
{
	-webkit-animation: circle .75s;
	animation: circle .75s;

}


.link a:hover img
{
	opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";

	-moz-transition-duration: 1.6s;
	-webkit-transition-duration: 1.6s;
	-o-transition-duration: 1.6s;
	-ms-transition-duration: 1.6s;
	transition-duration: 1.6s;

}



@-webkit-keyframes shine 
{
	100% 
	{
		left: 125%;
	}
}

@keyframes shine 
{
	100% 
	{
		left: 125%;
	}
}


@-webkit-keyframes circle 
{
	0%	{ opacity: 1;}
	40% { opacity: 1;}
	100% 
	{	width: 200%;
		height: 200%;
		opacity: 0;
	}
}

@keyframes circle 
{
	0% { opacity: 1;}
	40% { opacity: 1;}
	100% 
	{
		width: 200%;
		height: 200%;
		opacity: 0;
	}
}


.none
{
	display: none !important;
}


iframe
{
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
}

input:placeholder-shown 
{
    color: #ccc; 
}

/* Google Chrome, Safari, Opera 15+, Android, iOS */
input::-webkit-input-placeholder 
{
    color: #ccc; 
}


/* Firefox 18- */
input:-moz-placeholder {    color: #ccc; opacity: 1; }

/* Firefox 19+ */
input::-moz-placeholder {   color: #ccc; opacity: 1; }

/* IE 10+ */
input:-ms-input-placeholder {   color: #ccc !important; }



.fixed 
{
	position: fixed;
	width: 100%;
	height: 100%;
}

/** pt (pc/タブレット共通) pc(PC専用) tb(タブレット専用) sp(スマホ専用) */
.disp
{
	display: inline;
}


.pt{}
.pc{}
.ps{}
.tb{display: none;}
.ts{display: none;}
.sp{display: none;}


article
{
	_zoom: 1;
	overflow: hidden;
	padding-bottom: 0em;
	padding-top: 0px;
}

.body
{
	width: 1200px;
	margin-right: auto;
	margin-left: auto;
	_zoom: 1;
	overflow: hidden;
	text-align: left;
}


.annotation
{
	text-indent: -1em;
	padding-left: 1em;
	font-size: 80%;
	line-height: 140%;
	padding-top: 0.4em;
	padding-bottom: 0.4em;
}


#loader-bg 
{
  display: none;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  z-index: 9998;
background: rgba(255, 255, 255, 1);

}
#loader 
{
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 200px;
  height: 200px;
  margin-top: -100px;
  margin-left: -100px;
  text-align: center;
  color: #fff;
  z-index: 9999;
}


/* タブレットレイアウト : 768 px 〜 959 px*/
@media screen and (max-width:959px)
{

.pt{}
.pc{display: none;}
.ps{display: none;}
.tb{display: inline;}
.ts{display: inline;}
.sp{display: none;}



}

/* スマホ設定  768 以下*/
@media screen and (max-width:767px)
{

html,body
{
	min-width:100%;
}


body
{
	padding-top: 80px;
}

.pt{display: none;}
.pc{display: none;}
.ps{display: inline;}
.tb{display: none;}
.ts{display: inline;}
.sp{display: inline;}


html,body
{
	min-width:100%;
}

img
{
	height: auto;
	width: auto;
}

article
{
	width: auto;
	padding-right: 0%;
	padding-left: 0%;
	margin-top: 0px;
	padding-top: 0em;
	padding-bottom: 0em;
}

.body
{
	width: auto !important;
	padding-right: 4% !important;
	padding-left: 4% !important;
	margin-top: 0px !important;
}


}