@charset "utf-8";

@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 400;
	src: url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff2) format('woff2'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.woff) format('woff'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Regular.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 500;
	src: url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Medium.woff2) format('woff2'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Medium.woff) format('woff'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Medium.otf) format('opentype');
}
@font-face {
	font-family: 'Noto Sans JP';
	font-style: normal;
	font-weight: 700;
	src: url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff2) format('woff2'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.woff) format('woff'),
		 url(../fonts/NotoSansCJKjp/NotoSansCJKjp-Bold.otf) format('opentype');
}

/*-----------------------------------------------
	基本設定
-----------------------------------------------*/
body{
	color: #333;
	font-size: 12px;
	font-family: 'Noto Sans JP', sans-serif;
	margin: 0;
	padding: 0;
	text-align: left;
	background: #FFF;
	-webkit-text-size-adjust: 100%;
}
body *, body *::before, body *::after{
	box-sizing:border-box;
}
img{vertical-align: bottom;}
h1,h2,h3,h4,h5,h6{font-weight: normal;}
th{
	font-weight: normal;
	text-align: left;
}
.spOnly,
.brSp,
.imgSp,
.txtSp{
	display: none;
}
@media only screen and (max-width:1024px){
	body{
		min-width: 0;
	}
	.spNone,
	.brPc,
	.imgPc{
		display: none;
	}
	.spOnly{
		display: block;
	}
	.brSp,
	.imgSp,
	.txtSp{
		display: inline;
	}
	.imgR{
		width: 100%;
		height: auto;
	}
}

/* font layout */
.fBold{font-weight: bold;}
.fOverpass{font-family: 'Overpass', sans-serif;}

/* rollover */
.ro a:hover,
a.ro:hover,
a .ro:hover{ filter:alpha(opacity=80);opacity:0.8; }
.brt a:hover,a.brt:hover,a .brt:hover{ -webkit-filter: brightness(1.1);filter: brightness(1.1); }
.ro a,
a.ro,
a .ro,
.brt a,
a.brt,
a .brt{
	-webkit-transition: all 0.2s ease-out;
	-moz-transition: all 0.2s ease-out;
	-ms-transition: all 0.2s ease-out;
	transition: all 0.2s ease-out;
}
.ro .no_ro a:hover,
.ro a.no_ro:hover{ filter:alpha(opacity=100);opacity:1; }
a:focus{outline:none;}

/* 基本リンク設定 */
a{
	text-decoration: none;
}


/*-----------------------------------------------
	contents
-----------------------------------------------*/
/* jsHide */
.jsHide {
	opacity: 0;
	-webkit-transform: translate(0px, 100px);
	transform: translate(0px, 100px);
	-webkit-transition: opacity 2s cubic-bezier(0.18, 1.01, 0.29, 1.04), -webkit-transform 2s cubic-bezier(0.18, 1.01, 0.29, 1.04);
	transition: opacity 2s cubic-bezier(0.18, 1.01, 0.29, 1.04), -webkit-transform 2s cubic-bezier(0.18, 1.01, 0.29, 1.04);
	transition: opacity 2s cubic-bezier(0.18, 1.01, 0.29, 1.04), transform 2s cubic-bezier(0.18, 1.01, 0.29, 1.04);
	transition: opacity 2s cubic-bezier(0.18, 1.01, 0.29, 1.04), transform 2s cubic-bezier(0.18, 1.01, 0.29, 1.04), -webkit-transform 2s cubic-bezier(0.18, 1.01, 0.29, 1.04);
}
.jsHide.jsShow {
	-webkit-transform: translate(0px, 0px);
	transform: translate(0px, 0px);
	opacity: 1;
}
@media only screen and (max-width:1024px){
	.jsHide.jsShowSp {
		-webkit-transform: translate(0px, 0px);
		transform: translate(0px, 0px);
		opacity: 1;
	}
}

/*-----------------------------------------------
	footer
-----------------------------------------------*/
#footer{
	height: 65px;
	background: #0073BB;
	padding-top: 23px;
	text-align: center;
}
@media only screen and (max-width:1024px){
	#footer{
		height: 40px;
		padding-top: 13px;
	}
}
