@charset "utf-8";

/*----------------------------------------------------------
 * Reset & Common Layouts
 *----------------------------------------------------------*/

/*	Reset
------------------------------------------------------------*/

/*-- Base --*/
html {
	overflow-y: scroll;
	-webkit-overflow-scrolling: touch;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body {
	color: #333;
	line-height: 1.5;
	font-family: "Hiragino Kaku Gothic Pro", "Meiryo", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	font-size: 14px;
	width: 100%;
}

/*-- margin, padding --*/
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, label, input, textarea, p, blockquote, th, td {
	margin:0;
	padding:0;
}
/*-- table --*/
table {
	border-collapse: collapse;
	border-spacing: 0;
	font-size: inherit;
}
td, th, caption {
	font-style: normal;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
address, cite, code, dfn, em, strong, var, small {
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
}
ol, ul { list-style: none; }
h1, h2, h3, h4, h5, h6 {
	font-size: 100%;
	font-weight: normal;
}
a {
	text-decoration: underline;
	color: #000;
}
a:hover,
a:focus { text-decoration: none; }
br { letter-spacing: normal; }
hr { display: none; }
img { vertical-align: bottom; border: none; line-height: 0; }

/*-- HTML5 elements --*/
article, aside, details, figcaption, figure, footer, header, nav, section, summary {
	display: block;
	margin: 0;
	padding: 0;
}


/*	elements
------------------------------------------------------------*/
a img {
	-webkit-transition: opacity 0.2s ease-in;
	-moz-transition: opacity 0.2s ease-in;
	-ms-transition: opacity 0.2s ease-in;
	-o-transition: opacity 0.2s ease-in;
	transition: opacity 0.2s ease-in;
}
a:hover img,
a:focus img {
	opacity: 0.6;
	-ms-filter: "alpha(opacity=60)";
}


/*	clearfix
------------------------------------------------------------*/
.clearfix:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}

/*	common styles
------------------------------------------------------------*/
/*-- display --*/
.dn { display: none !important; }
.db { display: block !important; }
.di { display: inline !important; }
.dib { display: inline-block !important; }

/*-- fonts --*/
.fwN { font-weight: normal; }
.fwB { font-weight: bold; }
.fz08 { font-size: 67%; }
.fz09 { font-size: 75%; }
.fz10 { font-size: 83%; }
.fz11 { font-size: 92%; }
.fz12 { font-size: 100%; }
.fz13 { font-size: 108%; }
.fz14 { font-size: 117%; }
.fz15 { font-size: 125%; }
.fz16 { font-size: 133%; }

/*-- position --*/
.posR { position: relative; }
.posA { position: absolute; }

/*-- border --*/
.bd { border: 1px solid #000; }
.bdt { border-top: 1px solid #000; }
.bdr { border-right: 1px solid #000; }
.bdb { border-bottom: 1px solid #000; }
.bdl { border-left: 1px solid #000; }
.bdN { border: none; }
.bdtN { border-top: none; }
.bdrN { border-right: none; }
.bdbN { border-bottom: none; }
.bdlN { border-left: none; }

/*-- text-align --*/
.taC { text-align: center; }
.taL { text-align: left; }
.taR { text-align: right; }

/*-- float --*/
.flR { float: right; }
.flL { float: left; }
.flN { float: none; }
.lfBox { overflow: hidden; /zoom: 1; }

/*-- margin --*/
.mc { margin: 0 auto; }
.m00 { margin: 0 !important; }
.m05 { margin: 5px !important; }
.m10 { margin: 10px !important; }
.m15 { margin: 15px !important; }
.m20 { margin: 20px !important; }
.m25 { margin: 25px !important; }
.m30 { margin: 30px !important; }
.m35 { margin: 35px !important; }
.m40 { margin: 40px !important; }
.m45 { margin: 45px !important; }
.m50 { margin: 50px !important; }
.mta { margin-top: auto; }
.mt00 { margin-top: 0 !important; }
.mt05 { margin-top: 5px !important; }
.mt10 { margin-top: 10px !important; }
.mt15 { margin-top: 15px !important; }
.mt20 { margin-top: 20px !important; }
.mt25 { margin-top: 25px !important; }
.mt30 { margin-top: 30px !important; }
.mt35 { margin-top: 35px !important; }
.mt40 { margin-top: 40px !important; }
.mt45 { margin-top: 45px !important; }
.mt50 { margin-top: 50px !important; }
.mra { margin-right: auto; }
.mr00 { margin-right: 0 !important; }
.mr05 { margin-right: 5px !important; }
.mr10 { margin-right: 10px !important; }
.mr15 { margin-right: 15px !important; }
.mr20 { margin-right: 20px !important; }
.mr25 { margin-right: 25px !important; }
.mr30 { margin-right: 30px !important; }
.mr35 { margin-right: 35px !important; }
.mr40 { margin-right: 40px !important; }
.mr45 { margin-right: 45px !important; }
.mr50 { margin-right: 50px !important; }
.mba { margin-bottom: auto; }
.mb00 { margin-bottom: 0 !important; }
.mb05 { margin-bottom: 5px !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb25 { margin-bottom: 25px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb35 { margin-bottom: 35px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb45 { margin-bottom: 45px !important; }
.mb50 { margin-bottom: 50px !important; }
.mla { margin-left: auto; }
.ml00 { margin-left: 0 !important; }
.ml05 { margin-left: 5px !important; }
.ml10 { margin-left: 10px !important; }
.ml15 { margin-left: 15px !important; }
.ml20 { margin-left: 20px !important; }
.ml25 { margin-left: 25px !important; }
.ml30 { margin-left: 30px !important; }
.ml35 { margin-left: 35px !important; }
.ml40 { margin-left: 40px !important; }
.ml45 { margin-left: 45px !important; }
.ml50 { margin-left: 50px !important; }

/*-- padding --*/
.p00 { padding: 0; }
.p05 { padding: 5px !important; }
.p10 { padding: 10px !important; }
.p15 { padding: 15px !important; }
.p20 { padding: 20px !important; }
.p25 { padding: 25px !important; }
.p30 { padding: 30px !important; }
.p35 { padding: 35px !important; }
.p40 { padding: 40px !important; }
.p45 { padding: 45px !important; }
.p50 { padding: 50px !important; }
.pt00 { padding-top: 0 !important; }
.pt05 { padding-top: 5px !important; }
.pt10 { padding-top: 10px !important; }
.pt15 { padding-top: 15px !important; }
.pt20 { padding-top: 20px !important; }
.pt25 { padding-top: 25px !important; }
.pt30 { padding-top: 30px !important; }
.pt35 { padding-top: 35px !important; }
.pt40 { padding-top: 40px !important; }
.pt45 { padding-top: 45px !important; }
.pt50 { padding-top: 50px !important; }
.pr00 { padding-right: 0 !important; }
.pr05 { padding-right: 5px !important; }
.pr10 { padding-right: 10px !important; }
.pr15 { padding-right: 15px !important; }
.pr20 { padding-right: 20px !important; }
.pr25 { padding-right: 25px !important; }
.pr30 { padding-right: 30px !important; }
.pr35 { padding-right: 35px !important; }
.pr40 { padding-right: 40px !important; }
.pr45 { padding-right: 45px !important; }
.pr50 { padding-right: 50px !important; }
.pb00 { padding-bottom: 0 !important; }
.pb05 { padding-bottom: 5px !important; }
.pb10 { padding-bottom: 10px !important; }
.pb15 { padding-bottom: 15px !important; }
.pb20 { padding-bottom: 20px !important; }
.pb25 { padding-bottom: 25px !important; }
.pb30 { padding-bottom: 30px !important; }
.pb35 { padding-bottom: 35px !important; }
.pb40 { padding-bottom: 40px !important; }
.pb45 { padding-bottom: 45px !important; }
.pb50 { padding-bottom: 50px !important; }
.pl00 { padding-left: 0 !important }
.pl05 { padding-left: 5px !important; }
.pl10 { padding-left: 10px !important; }
.pl15 { padding-left: 15px !important; }
.pl20 { padding-left: 20px !important; }
.pl25 { padding-left: 25px !important; }
.pl30 { padding-left: 30px !important; }
.pl35 { padding-left: 35px !important; }
.pl40 { padding-left: 40px !important; }
.pl45 { padding-left: 45px !important; }
.pl50 { padding-left: 50px !important; }
