*{
 zoom:1;
 }




.clearfix:after {
 content:".";
 display:block;
 clear:both; 
 visibility:hidden;
}
.clearfix {
 display:inline-block;
 overflow: hidden;
}
/* exlude MacIE5 \*/
* html .clearfix {
 height:1%;
}
.clearfix {
 display:block;
}
/* end MacIE5 */

.clearfix + *{
    clear: both;
}


/* ------リンクカラー------ */
a:link {
	color: #0066D5;
	text-decoration: none
}
a:visited {
	color: #0066D5;
	text-decoration: none;
}
a:hover {
	color: #3399FF;
	text-decoration: none;
}
a:active {
	color: #0066D5;
	text-decoration: none
}


/* ------インラインブロック------ */
.block {
	display:inline-block;
}



 /* ------ベースカラー　基本的に使用色はここから指定する------ */
.black {
	color: #000;	
}

.white {
	color: #FFF;	
}

.gray {
	color: #888;	
}

.darkgray {
	color: #444;	
}


.blue {
	color: #0066D5;	
}

.lightblue {
	color: #0098D9;	
}

.red {
	color: #C80000;	
}

.pink {
	color: #F82863;	
}

.lightpink {
	color: #FC8DD0;
}

.yellow {
	color: #FFD800;	
}

.orange {
	color: #FE9900;
}

.green {
	color: #00A53C;	
}




 /* ------ベースカラー／背景色　基本的に使用色はここから指定する------ */

.b_black {
	background-color: #000;	
}

.b_white {
	background-color: #fff;	
}

.b_gray {
	background-color: #888;	
}

.b_darkgray {
	background-color: #444;	
}
 
.b_blue {
	background-color: #0066D5;	
}

.b_lightblue {
	background-color: #0098D9;	
}

.b_red {
	background-color: #C80000;	
}

.b_pink {
	background-color: #F82863;
}

.b_lightpink {
	background-color: #FC8DD0;
}

.b_yellow {
	background-color: #FFD800;	
}

.b_orange {
	background-color: #FE9900;	
}

.b_green {
	background-color: #00A53C;	
}




/*リンク画像透過 */
.mouseon a:hover img{
	opacity: 0.5;
	filter: alpha(opacity=50);
	-ms-filter: "alpha( opacity=50 )";
	background-color: #FFF;
	background-image: none;
}


 /* ------SNSシェアボタン------ */
 
 .top_sharebutton {
	text-align: right;
	line-height: 5px;
	clear: both;
	padding: 0px 0px 20px 10px;
 }
 
  .sharebutton {
	text-align: right;
	padding: 30px 0px 0px;
	line-height: 5px;
 }
 

.bold {
	font-weight:bold;
 }

.fs10 {
	font-size:1rem;
 }
 
.fs12 {
	font-size:1.2rem;
 }
 
.fs14 {
	font-size:1.4rem;
 }

.fs16 {
	font-size:1.6rem;
 }
 
.fs18 {
	font-size:1.8rem;
 }
 
.fs20 {
	font-size:2rem;
 }

.fs22 {
	font-size:2.2rem;
 }
 
.fs24 {
	font-size:2.4rem;
 }

.fs26 {
	font-size:2.6rem;
 }
 
.fs28 {
	font-size:2.8rem;
 }
 
.fs30 {
	font-size:3rem;
 }
 
.lh12 {
	line-height: 1.2rem;
 }
 
.lh14 {
	line-height:1.4rem;
 }
 
.lh16 {
	line-height:1.6rem;
 }

.lh18 {
	line-height:1.8rem;
 }

.lh20 {
	line-height:2rem;
 }

 /* ------画像下の間隔埋めるIE用------ */
img {
    vertical-align:bottom;
}

 /* ------汎用マージン・余白------ */

.mt5 {
	margin-top:5px;
 }
 
.mt10 {
	margin-top:10px;
 }

.mt15 {
	margin-top:15px;
 }

.mt20 {
	margin-top:20px;
 }

.mr5 {
	margin-right:5px;
 }

.mr10 {
	margin-right:10px;
 }

.mr15 {
	margin-right:15px;
 }
 
.mr20 {
	margin-right:20px;
 }
 
.ml5 {
	margin-left:5px;
 }
 
.ml10 {
	margin-left:10px;
 }

.ml15 {
	margin-left:15px;
 }
 
.ml20 {
	margin-left:20px;
 }
 
.mb5 {
	margin-bottom:5px;
 }

.mb10 {
	margin-bottom:10px;
 }

.mb15 {
	margin-bottom:15px;
 }
 
.mb20 {
	margin-bottom:20px;
 }
 
.pt5 {
	padding-top:5px;
 }
 
.pt10 {
	padding-top:10px;
 }

.pt15 {
	padding-top:15px;
 }
 
.pt20 {
	padding-top:20px;
 }
 
.pr5 {
	padding-right:5px;
 }

.pr10 {
	padding-right:10px;
 }

.pr15 {
	padding-right:15px;
 }
 
.pr20 {
	padding-right:20px;
 }
 
.pl5 {
	padding-left:5px;
 }
 
.pl10 {
	padding-left:10px;
 }

.pl15 {
	padding-left:15px;
 }
 
.pl20 {
	padding-left:20px;
 }
 
.pb5 {
	padding-bottom:5px;
 }

.pb10 {
	padding-bottom:10px;
 }

.pb15 {
	padding-bottom:15px;
 }
 
.pb20 {
	padding-bottom:20px;
 }


 /* ------汎用フォームサイズ------ */

input.sizeSSS {
    width:4em;
}
 
input.sizeSS {
    width:5em;
}

input.sizeS {
    width:40%;
}

input.sizeM {
    width:50%;
}

input.sizeL {
    width:60%;
}

input.sizeLL {
    width:70%;
}

textarea {
    width:100%;
    height:100px;
}

textarea.sizeSSS {
	width:50%;
    height:3em;
}

textarea.sizeSS {
	width:60%;
    height:5em;
}

textarea.sizeS {
	width:60%;
    height:10em;
}

textarea.sizeM {
	width:70%;
    height:12em;
}

textarea.sizeL {
	width:70%;
    height:15em;
}

textarea.sizeLL {
	width:80%;
    height:20em;
}



 /* ------汎用フォーム周りclass------ */

.required {
    color:#FF0000;
    font-weight:bold;
}

.form_info {
	font-size: 10px;
	color:#454545;
}

.rule {
	font-size: 10px;
	color:#454545;
}

ul.errors_list {
	padding:10px;
	background-color:#FFDDDD;
	display: block;
	margin: 0 20px 0px;
	border: 2px solid #FF0000;
}

.errors_list li{
	font-size:1.2rem;
	color:#FF0000;
	line-height:1.6em;
}

.error-message {
    padding:10px;
    display: block;
    margin: 15px 0px;
    border: 3px solid #FF0000;
    font-size:1.2rem;
    color:#FF0000;
    line-height:1.6em;
    font-weight:bold;
}

.errors {
    padding:10px;
    background-color:#FF0000;
    display: block;
    margin: 10px 0px;
    border: 2px solid #FF0000;
    font-size:1.2rem;
    color:#fff;
    line-height:1.6em;
    font-weight:bold;
}

.exception-error {
    padding:10px;
    background-color:#FFDDDD;
    display: block;
    margin: 15px 0px;
    border: 2px solid #FF0000;
    font-size:1.2rem;
    color:#FF0000;
    line-height:1.6em;
    font-weight:bold;
	text-align:center;
}

.error {
    background-color:#FFDDDD;
}
