p,span {
	font-size:inherit;
}

p span {
	display:inline-block;
	font-size:inherit;
}

.tac {text-align:center !important;}
.tal {text-align:left !important;}
.tar {text-align:right !important;}


::placeholder {
  color: #ccc;
}


table {
	border:1px solid #ccc;
	width:100%;
	margin-bottom:0px;
	border-collapse: collapse;
	table-layout: fixed;
	background-color:#fbfbfb;
}

table th,
table td {
	border:1px solid #ccc;
	vertical-align:middle;
	position:relative;
	width:auto;
	padding:5px;
}

/*スピンボタン消去*/
input[type="number"]::-webkit-outer-spin-button, 
input[type="number"]::-webkit-inner-spin-button { 
  -webkit-appearance: none; 
  margin: 0; 
}
input[type="number"] { 
  -moz-appearance:textfield; 
} 


/*clearfix*/
section:after {
	content: "";
	display: block;
	clear: both;
}

footer {
	width:100%;
	min-width:320px;
	background-color:#595b59;
}

footer .inner {
	max-width: 876px;
	/*background-color:#C30;*/
	color:#fff;
	padding:40px 30px;
}

#footer-bottom {
	padding:1em 0;
	background-color:#fff;
}

#footer-bottom .inner {
	max-width: 876px;
	color:#fff;
	padding:10px 30px;
}


footer .inner .title {
	font-size:140%;
	margin-bottom:1em;
	text-align:center;
}

footer .inner .title + p {
	text-align:center;
}

footer .logo {
    width: 150px;
    margin: 0 auto 20px;
}

footer .copyrights {
	color:#000;
	font-size:120%;
	font-family:Arial, Helvetica, sans-serif;
}

footer a{
	color:inherit;
}


#page-top {
    width: 60px;
    height: 50px;
	margin:0;
	position:absolute;
	top:-50px;
	right:20px;
	display:block;
	overflow:hidden;
}

#page-top a {
	width:100%;
	height:50px;
    display: block;
    text-decoration: none;
    color: #fff;
	background-color:#000;
	text-align:center;
	margin-top:10px;
	padding:10px;
	border-radius:10px 10px 0 0;
	transition: all 0.3s ease;
	font-size:90%;
}

#page-top a:hover {
	margin-top:0px;
}


/*--------------------------
　バナー
--------------------------*/

#banner img {
	width:100%;
	display:block;
	margin:0 auto;
}

#banner img.pc {
	display:block;
	max-width:818px;
}
#banner img.tb {
	display:none;
	max-width:617px;
}
#banner img.sp {
	display:none;
	max-width:635px;
}


@media screen and (max-width: 930px) {


/*--------------------------
　バナー
--------------------------*/

#banner img.pc {
	display:none;
	max-width:819px;
}
#banner img.tb {
	display:block;
	max-width:619px;
}
#banner img.sp {
	display:none;
	max-width:619px;
}

	
}


@media screen and (max-width: 650px) {
	
/*--------------------------
　バナー
--------------------------*/

#banner img.pc {
	display:none;
	max-width:819px;
}
#banner img.tb {
	display:none;
	max-width:619px;
}
#banner img.sp {
	display:block;
	max-width:619px;
}

}


footer {
	position:relative;
}

#page-top {
    width: 60px;
    height: 50px;
	margin:0;
	position:absolute;
	top:-50px;
	right:20px;
	display:block;
	overflow:hidden;
}

#page-top a {
	width:100%;
	height:50px;
    display: block;
    text-decoration: none;
    color: #fff;
	background-color:#000;
	text-align:center;
	margin-top:10px;
	padding:10px;
	border-radius:10px 10px 0 0;
	transition: all 0.3s ease;
	font-size:90%;
}

#page-top a:hover {
	margin-top:0px;
}