@charset "utf-8";
/*
ページごとの設定や、位置調整、テキスト装飾などで使用する汎用的なものとを記述します。
Anything used for general purpose such as setting for every page, position adjustment, and text decoration will be written.

接頭辞はUtilityの頭文字を取って【u_】とします。
Prefix will take the "Utility" first letter and use it as "u_". 

clearfixのみ、例外的に接頭辞をつけてません。
This not apply to "clearfix".

フォントサイズはremで指定します。
"rem" will be used for font-size.
*/

.u_mat0 { margin-top:0; }
.u_mat5 { margin-top:5px; }
.u_mat10 { margin-top:10px; }
.u_mat20 { margin-top:20px; }
.u_mat30 { margin-top:30px; }
.u_mat40 { margin-top:40px; }
.u_mat50 { margin-top:50px; }

.u_mab0 { margin-bottom: 0; }
.u_mab5 { margin-bottom: 5px; }
.u_mab10 { margin-bottom: 10px; }
.u_mab20 { margin-bottom: 20px; }
.u_mab30 { margin-bottom: 30px; }
.u_mab40 { margin-bottom: 40px; }
.u_mab50 { margin-bottom: 50px; }

.u_ALcenter { text-align: center; }
.u_ALright { text-align: right; }

.u_float_left { float: left; }
.u_float_right { float: right; }

.u_red { color: #F00; }
.u_bold { font-weight: bold; }
.u_underline { text-decoration: underline; }
.u_font_size_small { font-size: 1.1rem } /*11px*/
.u_font_size_medium { font-size: 1.4rem; } /*14px*/
.u_font_size_large { font-size: 1.8rem; } /*18px*/

.u_img_floatL { float: left; margin-right: 20px; }
.u_img_floatR { float: right; margin-left: 20px; }

.u_bold_green { font-weight: bold; color: #009A29; }

.u_width150 { width: 150px; }
.u_width200 { width: 200px; }
.u_width290 { width: 290px; }
@media screen and (max-width: 640px) {
	.u_width290 { width: 100%; }
}
.u_width100per {
    width: 100%;
    height: auto;
}

.u_round { border-radius: 6px; }

/*----------------------------------------------
	.u_logo
---------------------------------------------*/
.u_logo {
	float: left;
	display: table-cell;
    padding: 8px 0;
}
.u_logo img {
	vertical-align: middle;
}
.u_logo_footer {
    line-height: 1;
    margin-bottom: 50px;
}
@media screen and (max-width: 640px) {
.u_logo img {
	vertical-align: middle;
	max-height: 47px;
}
	.u_logo {
		float: none;
		padding: 8px 0;
	}
	.u_logo_footer {
		margin-bottom: 40px;
	}
	.u_logo_footer img {
		width: inherit;
	}
}


/*----------------------------------------------
	.u_pc_view & .u_sp_view
---------------------------------------------*/
.u_sp_view { display: none; }
.u_sp_view_mab20 { margin-bottom: 0; }
@media screen and (max-width: 640px) {
	.u_pc_view { display: none; }
	.u_sp_view { display: block; }
	.u_sp_view_mab20 { margin-bottom: 20px; }
}

/*----------------------------------------------
	.clearfix
---------------------------------------------*/
.clearfix:after,
.l_wrap:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {
	min-height: 0;
	overflow:hidden;
}
* html .clearfix,
* html .l_wrap { height: 1px;/*¥*//*/
	height: auto;
	overflow: hidden;
	/**/ }
