@charset "utf-8";
/* CSS Document */


/* リセット
---------------------------------------------*/
h1, h2, h3, h4, h5, h6, p, address, div, ul, ol, dl, dt, dd, table, tr, th, td, caption, img, form, figure {
	margin: 0;
	padding: 0;
	border: none;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
}
h1, h2, h3, h4, h5, h6 {
	font-size: 1.6rem;
}
img {
	border: 0;
	vertical-align: top;
	margin: 0;
	padding: 0;
}
table {
	border-collapse: collapse;
	width: 100%;
}
th, td {
	padding: 0;
}
input[type="text"], input[type="password"], textarea, select, input {
	outline: none;
	letter-spacing: 0.05em;
	font-family: "メイリオ", Meirio, Verdana, Arial, Helvetica, sans-serif;
}
/* 共通
---------------------------------------------*/
.fll {
	float: left;
	display: block;
}
.flr {
	float: right;
	display: block;
}
.cl {
	clear: both;
}
.tac {
	text-align: center;
}
.tar {
	text-align: right;
}
.tal {
	text-align: left;
}

@media only screen and (max-width: 769px) {
.txa {
	text-align: center;
}
}

@media only screen and (min-width: 768px) {
.txa {
	text-align: left;
}
}
.center {
	margin: 0 auto;
}
.inline {
	display: inline;
}
.block {
	display: block;
}
.vam {
	vertical-align: middle;
}
.vat {
	vertical-align: top;
}
.vab {
	vertical-align: text-bottom;
}
.center {
	margin: 0 auto;
}
/* リンク */
a {
	outline: none;
	color: #FF0000;
	text-decoration: none;
	cursor: pointer;
}
a:hover {
	outline: none;
	color: #FF0000;
	text-decoration: underline;
}
.fade {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.2s ease-in-out;
}
.fade:hover {
	opacity: 0.5;
	filter: alpha(opacity=60);
}
/* テキストの共通クラス指定 */
.bold {
	font-weight: bold;
}
.normal {
	font-weight: normal;
}
.f9 {
	font-size: 0.9rem;
}
.f10 {
	font-size: 1rem;
}
.f11 {
	font-size: 1.1rem;
}
.f12 {
	font-size: 1.2rem;
}
.f13 {
	font-size: 1.3rem;
}
.f14 {
	font-size: 1.4rem;
}
.f15 {
	font-size: 1.5rem;
}
.f16 {
	font-size: 1.6rem;
}
.f18 {
	font-size: 1.8rem;
}
.f20 {
	font-size: 2rem;
}
.f22 {
	font-size: 2.2rem;
}
.f24 {
	font-size: 2.4rem;
}
.f30 {
	font-size: 3rem;
}
.f32 {
	font-size: 3.2rem;
}
.f0 {
	font-size: 0em;
}
/* indent */
.idt01 {
	text-indent: -1em;
	padding-left: 1em;
}
/* margin */
.mb0 {
	margin-bottom: 0em;
}
.mb5 {
	margin-bottom: 0.5rem;
}
.mb10 {
	margin-bottom: 1rem;
}
.mb15 {
	margin-bottom: 1.5rem;
}
.mb20 {
	margin-bottom: 2rem;
}
.mb25 {
	margin-bottom: 2.5rem;
}
.mb30 {
	margin-bottom: 3rem;
}
.mb35 {
	margin-bottom: 3.5rem;
}
.mb40 {
	margin-bottom: 4rem;
}
.mb50 {
	margin-bottom: 5rem;
}
.<strong>mb51</strong> {
	margin-bottom: 5rem;
	margin-top: 5rem;
}
.mb60 {
	margin-bottom: 6rem;
}
.mb70 {
	margin-bottom: 7rem;
}
.mb80 {
	margin-bottom: 8rem;
}
.mb100 {
	margin-bottom: 10rem;
}
.mt50 {
	margin-top: 5rem;
}
.mr30 {
	margin-right: 3rem;
}
.ml20 {
	margin-left: 2rem;
}
.ml30 {
	margin-left: 3rem;
}
.ml40 {
	margin-left: 4rem;
}

@media only screen and (max-width: 767px) {
.smb10 {
	margin-bottom: 1rem;
}
.smb15 {
	margin-bottom: 1.5rem;
}
.smb16 {
	margin-bottom: 1.5rem;
	margin-top: 1.5rem;
}
.smb20 {
	margin-bottom: 2rem;
}
.smb30 {
	margin-bottom: 3rem;
}
.smb50 {
	margin-bottom: 5rem;
}
.smb100 {
	margin-bottom: 10rem;
}
}

@media only screen and (max-width: 991px) {
.mmb50 {
	margin-bottom: 5rem;
}
}
/* clearfix */
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 1px;
}
* html .clearfix {
	height: 1px;
}

@media only screen and (min-width: 769px) {
.onlysp {
	display: none!important;
}
}

@media only screen and (max-width: 768px) {
.onlypc {
	display: none!important;
}
}
