@charset "UTF-8";

/**************************************************

　汎用スタイル

**************************************************/
/* -------------------------------------------
	 #clearfix
-------------------------------------------- */
/* For modern browsers */
.cf:before,
.cf:after {
    content:"";
    display:table;
}
.cf:after {
    clear:both;
}
/* For IE 6/7 (trigger hasLayout) */
.cf {
    zoom:1;
}  

/* -------------------------------------------
	 #フロート関連
-------------------------------------------- */
.fl_r {
	float: right;
}
.fl_l {
	float: left;
}
.cl_both {
	clear: both;
}
/* -------------------------------------------
	 #テキスト関連
-------------------------------------------- */
.red {
	color: #FF0000;
}
.bold{
	font-weight: bold;	
}
.small {
	font-size: 90%;
}
.small-2 {
	font-size: 80%;
}
.red-tb {
	color: #fff;
	background: linear-gradient(transparent 0%, #ff0000 0%);
	padding: 0 3px;
}
.caution-txt {
	color: #DA5211;
}
.mark-indent {
	text-indent: -1em;
	padding-left: 1em;
}
sup {
  font-size: 0.5em !important;
  vertical-align: super !important;
}
/* -------------------------------------------
	 #テキスト揃え関連
-------------------------------------------- */
.align_c {
	text-align: center;
}
.align_r {
	text-align:right;
}
.align_l {
	text-align:left;
}
input {
	vertical-align: middle;
}
.li_mark {
	text-indent: -1em;
	padding-left: 1em
}
/* -------------------------------------------
	 #マージン関連
-------------------------------------------- */
.mg_none {
	margin: 0px;
}
.mr_5 {
	margin-right: 5px;
}
.mr_10 {
	margin-right: 10px;
}
.mr_20 {
	margin-right: 20px;
}
.mr_30 {
	margin-right: 30px;
}
.mr_50 {
	margin-right: 50px;
}
.ml_5 {
	margin-left: 5px;
}
.ml_10 {
	margin-left: 10px;
}
.ml_20 {
	margin-left: 20px;
}
.ml_30 {
	margin-left: 30px;
}
.mt_3 {
	margin-top: 3px;
}
.mt_10 {
	margin-top: 10px;
}
.mt_15 {
	margin-top: 15px;
}
.mt_20 {
	margin-top: 20px;
}
.mt_30 {
	margin-top: 30px;
}
.mt_40 {
	margin-top: 40px;
}
.mb_5 {
	margin-bottom: 5px;
}
.mb_10 {
	margin-bottom: 10px;
}
.mb_20 {
	margin-bottom: 20px;
}
.mb_25 {
	margin-bottom: 25px;
}
.mb_30 {
	margin-bottom: 30px;
}
.mb_40 {
	margin-bottom: 40px;
}
.mb_50 {
	margin-bottom: 50px;
}
.mb_60 {
	margin-bottom: 60px;
}
.mb_70 {
	margin-bottom: 70px;
}
.mb_100 {
	margin-bottom: 100px;
}
.mb-1em {
	margin-bottom: 1em;
}
/* -------------------------------------------
	 #パディング関連
-------------------------------------------- */
.pd-t50 {
	padding-top:50px;
}
.pd-b50 {
	padding-bottom:50px;
}
.pd-b40 {
	padding-bottom:40px;
}
/* -------------------------------------------
	 #ボーダー関連
-------------------------------------------- */
.right_border{
	border-right-width: 1px;
	border-right-style: solid;
	border-right-color: #999999;
}
.bottom_border{
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #999999;
}
/* -------------------------------------------
	 #イメージ関連
-------------------------------------------- */
.img_middle {
	vertical-align: middle;
	margin-right: 5px;
}
.img_texttop {
	vertical-align: text-top;
	margin-right: 5px;
}
.img_w100 {
	width: 100%
}
.cont-h {
	position: relative;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
a img {
	display: block;
}
/* -------------------------------------------
	 #イメージ関連
-------------------------------------------- */
.flex { display: flex;}
.flex-s-s { display: flex; align-items: flex-start; justify-content: flex-start;}
.flex-s-c { display: flex; align-items: flex-start; justify-content: center;}
.flex-s-e { display: flex; align-items: flex-start; justify-content: flex-end;}
.flex-s-sa { display: flex; align-items: flex-start; justify-content: space-around;}
.flex-s-sb { display: flex; align-items: flex-start; justify-content: space-between;}
.flex-c-s { display: flex; align-items: center; justify-content: flex-start;}
.flex-c-c { display: flex; align-items: center; justify-content: center;}
.flex-c-e { display: flex; align-items: center; justify-content: flex-end;}
.flex-c-sb { display: flex; align-items: center; justify-content: space-between;}
.flex-e-s { display: flex; align-items: flex-end; justify-content: flex-start;}
.flex-e-c { display: flex; align-items: flex-end; justify-content: center;}
.flex-e-e { display: flex; align-items: flex-end; justify-content: flex-end;}
.flex-col { flex-direction: column;}
.flex-wrap { flex-wrap: wrap;}
.flex-col-wrap { flex-flow: column wrap;}

.flex-left { margin-right: auto;}
.flex-center { margin-left: auto; margin-right: auto;}
.flex-right { margin-left: auto;}