@charset "utf-8";

/* IE以外でスクロールバーを常に出す(IEは元々常に出てる) */
html { overflow-y: scroll; }
/* IE7、FF3.5以上にて、画像をリサイズをバイキュービック法で行う = 若干キレイに見えます */
img { -ms-interpolation-mode:bicubic; image-rendering: optimizequality; vertical-align: bottom; }
/* Common */
#doc { margin: 0 auto; min-height: 100%; _height:100%; width: 980px; position: relative; }
.doc {
    margin: 0 auto;
    min-height: 100%;
    _height:100%;
    width: 980px;
}
/* layout_2col */
.layout_2col { width: 980px; margin: 0 auto; }
.layout_2col .layout_main { width: 665px; position: relative; }
.layout_2col .layout_sidebar { width: 300px; }
/* 便利ツール */
/* layout処理 */
.left				{ *display: inline; float: left; }
.right				{ *display: inline; float: right; }
.layout-center		{ margin-left:auto; margin-right:auto; position:relative; }
img.layout-center	{ display: block; }
.clear				{ clear: both; }
/* テキスト処理 */
.text-center		{ text-align: center; }
.text-right			{ text-align: right; }
.text-left			{ text-align: left; }
.strikeout			{ text-decoration: line-through; }
.underline			{ text-decoration: underline; }
.bold				{ font-weight: bold; }
.normal				{ font-weight: normal; }
/* display と visibility */
.hide				{ display: none!important; }
.show,
.isBlock			{ display: block; }
.isInline			{ display: inline; }
.isInline-block		{ display: inline-block; *display: inline; zoom: 1; }
.isInvisible		{ visibility: hidden; }
/* ulに対して追加 */
.list-disc 			{ list-style: disc; padding-left: 15px; }
.list-square		{ list-style: square; padding-left: 15px; }
.list-decimal		{ list-style: decimal; padding-left: 15px; }
/* position */
.pos-rel { position: relative; }
.pos-abs { position: absolute; }
/* テキスト飛ばし */
.replace { display: block; text-indent: -999em; overflow: hidden; background-repeat: no-repeat; text-align: left; direction: ltr; }
/* リンク hoverで透明度を下げる */
a:hover img.trans,
a.trans:hover {
	cursor: pointer;
	filter:alpha(opacity=70);
	-moz-opacity:0.7;
	opacity:0.7;
}
/* スペースヘルパ
p,m = paddingとmargin
a,t,r,b,l,h,v = all,top,right,bottom,left,horizontal,vertical
s,m,l,n = small(7px),medium(14px),large(21px),none(0)
*/
.ptn, .pvn, .pan { padding-top: 0; }
.pts, .pvs, .pas { padding-top: 7px; }
.ptm, .pvm, .pam { padding-top: 14px; }
.ptl, .pvl, .pal { padding-top: 21px; }
.prn, .phn, .pan { padding-right: 0; }
.prs, .phs, .pas { padding-right: 7px; }
.prm, .phm, .pam { padding-right: 14px; }
.prl, .phl, .pal { padding-right: 21px; }
.pbn, .pvn, .pan { padding-bottom: 0; }  
.pbs, .pvs, .pas { padding-bottom: 7px; }
.pbm, .pvm, .pam { padding-bottom: 14px; }
.pbl, .pvl, .pal { padding-bottom: 21px; }
.pln, .phn, .pan { padding-left: 0; }
.pls, .phs, .pas { padding-left: 7px; }
.plm, .phm, .pam { padding-left: 14px; }
.pll, .phl, .pal { padding-left: 21px; }
.mtn, .mvn, .man { margin-top: 0; }
.mts, .mvs, .mas { margin-top: 7px; }
.mtm, .mvm, .mam { margin-top: 14px; }
.mtl, .mvl, .mal { margin-top: 21px; }
.mrn, .mhn, .man { margin-right: 0; }
.mrs, .mhs, .mas { margin-right: 7px; }
.mrm, .mhm, .mam { margin-right: 14px; }
.mrl, .mhl, .mal { margin-right: 21px; }
.mbn, .mvn, .man { margin-bottom:0; }  
.mbs, .mvs, .mas { margin-bottom: 7px; }
.mbm, .mvm, .mam { margin-bottom: 14px; }
.mbl, .mvl, .mal { margin-bottom: 21px; }
.mln, .mhn, .man { margin-left:0; }
.mls, .mhs, .mas { margin-left: 7px; }
.mlm, .mhm, .mam { margin-left: 14px; }
.mll, .mhl, .mal { margin-left: 21px; }
.has-grid,
ul.has-grid {
    word-spacing: -1em;
    display: table;
}
.size1of1,.size1of2,.size1of3,.size2of3,.size1of4,.size3of4,.size1of5,.size2of5,.size3of5,.size4of5,.has-grid li span,.has-grid > span,.has-grid > div,.has-grid > ul,.has-grid > li {
	display: inline-block;
    *display: inline; /* IE < 8: inline-block は IE8以下でサポートしていないので、ハック */
    *zoom: 1;
    word-spacing: normal;
	vertical-align: top;
}
.size1of1 { display: block; }
.size1of2 { width: 50%; *width: 49.5%; }
.size1of3 { width: 33.33333%; }
.size2of3 { width: 66.66666%; }
.size1of4 { width: 25%; *width: 24%;}
.size3of4 { width: 75%; }
.size1of5 { width: 20%; *width: 19.8%; }
.size2of5 { width: 40%; }
.size3of5 { width: 60%; }
.size4of5 { width: 80%; }

/* リスト縦並び */
.length  li {
    display: block;
    width: 100%;
}
/* form */
textarea { overflow: auto; } /* www.sitepoint.com/blogs/2010/08/20/ie-remove-textarea-scrollbars/ */
.ie6 legend, .ie7 legend { margin-left: -7px; } 
/* Align checkboxes, radios, text inputs with their label by: Thierry Koblentz tjkdesign.com/ez-css/css/base.css
input[type="radio"] { vertical-align: text-bottom; }
input[type="checkbox"] { vertical-align: bottom; }
.ie7 input[type="checkbox"] { vertical-align: baseline; }
.ie6 input { vertical-align: text-bottom; }
*/
/* Hand cursor on clickable input elements */
label, input[type="button"], input[type="submit"], input[type="image"], button { cursor: pointer; }
/* Webkit browsers add a 2px margin outside the chrome of form elements */
button, input, select, textarea { margin: 0; }
/* Colors for form validity */
input:invalid, textarea:invalid { border-radius: 1px; -moz-box-shadow: 0px 0px 5px red; -webkit-box-shadow: 0px 0px 5px red; box-shadow: 0px 0px 5px red; }
/* clearfix */
.clearfix:after,.cf:after,#head:after,#body:after,#foot:after,.layout-unit:after,.has-grid:after,.media:after {
	clear: both;
	display: block;
	visibility: hidden;
	overflow: hidden;
	height: 0 !important;
	line-height: 0;
	font-size: xx-large;
	content: " . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ";
}
.clearfix,.cf,#head,#body,#foot,.layout-unit,.has-grid,.has-grid .last-grid,.mod .inner,.mod .hd,.mod .bd,.mod .ft,.media,.media .bd,.list-float,.section { zoom: 1; } /* IE < 8 */

.has-table {
    display: block;
    display: table;
}
.has-table > span, .has-table > div { 
    display: inline-block;
    *display: inline;
    *zoom: 1;
    display: table-cell;
    vertical-align: middle;
}
/* ベースフォント設定 */
body,select,input,textarea {
	color: #404040;
    font:13px/1.4 arial,tahoma,verdana,lucida grande, sans-serif, "メイリオ", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic", "ＭＳ Ｐゴシック"; 
}
select,input,textarea,button { font-size:99%; }
pre,code,kbd,samp { font-family: monospace; }
strong,em,th { font-weight: bold; font-style: normal; }
sub { vertical-align: sub; font-size: smaller; }
sup { vertical-align: super; font-size: smaller; }
/* Headings */
small, .small { font-size: 11px; }
big, .big { font-size: 24px; }
.huge { font-size: 36px; }
.cap, .caption { font-size: 12px; ine-height: 1.2;}
a:link { color: #000; text-decoration: none; cursor: pointer; }
.link a:hover { text-decoration: underline; }
a:visit { color: #000; text-decoration: none; }
