/*---------- default.css -----------[05.10.11]

/*---------- global default styling ----------------------------------------*/

html * {
	margin: 0px;
	padding: 0px;
	background-repeat: no-repeat;
	background-position: top left;
	border-width: 0px;
	border-style: solid;
	outline-width: 0px;
	outline-style: style;
}
body { padding: 0px; }
/*-- area width element --*/
.minW { height: 1px; line-height: 1px; margin-bottom: -1px; display: block; }

/*---------- global font styling ----------------------------------------*/

html {
	font-size: 12px;
	line-height: 150%;
	font-family: 'Lucida Grande','Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3',Osaka,'ＭＳ Ｐゴシック',Arial,sans-serif;
}
/* ie:mac interprets the first available font for all languages!! */
/*-- [ie:mac] only [begin] --\*//*/
html { font-family: 'ヒラギノ角ゴ Pro W3',Osaka; }
input, select, textarea { font-family: Osaka; }
/*-- [ie:mac] only [end] --*/

html * {
	font-size: inherit;
	line-height: inherit;
	font-family: inherit;
}

/*-- default <a> styles --*/
a { color: blue; line-height: 125%; cursor: pointer; }
/*a:visited { color: green; }
a:active { color: red; }*/
a:hover { color: black; }

a.img { background-color: transparent !important; }

/*
<a> text hiding (for css parts)
[ie:win] fucks up display text hiding {display:none} in anchors!!!
*/
.hide { display: none !important; }
/*-- [ie:win] only [begin] --\*/
* html .hide {
	line-height: 200% !important;
	width: 1px !important;
	height: 4px !important;
	margin: -4px 0px 0px -1px !important;
	display: block !important;
	overflow: hidden !important;
}
/*-- [ie:win] only [end] --*/

.link_col a { display: inline; }

.link_col_b a { display: block; }

.link_row li { display: inline; }
.link_row a { display: inline; }

.link_row_b li { display: inline-block; }
.link_row_b a {
	display: inline;
	white-space: nowrap;
	width: 100%;
}

/*-- default <div> styles --*/
div {
	color: inherit;
	width: auto;
	height: auto;
}

/*-- default <span> styles --*/
/*span { color: inherit; }*/

/*-- default <table> styles --*/
table {
	border-width: 0px;
	border-spacing: 0px; /* ie:mac doesn't recognize this! Use cellspacing="0" */
	empty-cells: show;
	margin: 0px;
}
td {
	color: inherit;
	padding: 0px;
}

/*-- default <p><h > styles --*/
p, h1, h2, h3, h4, h5, h6 { margin: 0px; padding: 0px; }

h1							{ font-size: 24px; font-weight: bold; line-height: 125%; }
h2,	.txt_xxl,	.ctxt_xxl	{ font-size: 18px; font-weight: bold; line-height: 125%; }
h3,	.txt_xl,	.ctxt_xl	{ font-size: 15px; font-weight: bold; line-height: 125%; }
h4,	.txt_l,		.ctxt_l		{ font-size: 13px; font-weight: bold; line-height: 125%; }
h5,	.txt_m,		.ctxt_m		{ font-size: 12px; font-weight: normal; line-height: 125%; }
h6,	.txt_s,		.ctxt_s		{ font-size: 11px; font-weight: normal; line-height: 125%; }
	.txt_xs,	.ctxt_xs	{ font-size: 10px; font-weight: normal; line-height: 125%; }

.txt_xxl, .txt_xl, .txt_l, .txt_m, .txt_s, .txt_xs { line-height: 150% }

p { margin-top: 1em; }

/*-- default special block element styles --*/
address, blockquote, center, del, ins, noscript, pre { font-style: normal; }

/*-- default list element styles --*/
ol, ul, li, dl, dt, dd {
	padding: 0;
	margin: 0;
}
ol { margin-left: 3em; }
ol ol, ul ol { margin-left: 2em; }
ul { list-style-type: none; }
ul ul, ol ul, dd { margin-left: 1em; }

li, dd { line-height: 125%; }
ol li, dl dd { padding: 2px 0px; }

.list_n li { list-style-type: none; }
.list_1 li { list-style-type: decimal; }
.list_d li { list-style-type: disc; }
.list_c li { list-style-type: circle; }
.list_s li { list-style-type: square; }
.list_A li { list-style-type: upper-alpha; }
.list_a li { list-style-type: lower-alpha; }
.list_R li { list-style-type: upper-roman; }
.list_r li { list-style-type: lower-roman; }

/* direct assignment must be defined after for cascade*/
li.list_n { list-style-type: none; }
li.list_1 { list-style-type: decimal; }
li.list_d { list-style-type: disc; }
li.list_c { list-style-type: circle; }
li.list_s { list-style-type: square; }
li.list_A { list-style-type: upper-alpha; }
li.list_a { list-style-type: lower-alpha; }
li.list_R { list-style-type: upper-roman; }
li.list_r { list-style-type: lower-roman; }

/*---------- default inline element styling ----------------------------------------*/

/*-- default <img> styles --*/
img {
	font-size: 10px;
	line-height: 10px;
	text-align: center;
/*	vertical-align: bottom;*/
	border: none;
}
/*a img { vertical-align: middle; }*/

/*-- default phrase element styles --*/
abbr, acronym, cite, code, dfn, del, em, ins, kbd, samp, strong, var { font-style: normal; }

/*---------- default padding/margin styles ----------------------------------------*/

/*-- padding --*/
.pt_xl,	.ptb_xl	{ padding-top: 32px !important; }
.pt_l,	.ptb_l	{ padding-top: 24px !important; }
.pt_m,	.ptb_m	{ padding-top: 16px !important; }
.pt_s,	.ptb_s	{ padding-top: 8px !important; }
.pt_xs,	.ptb_xs	{ padding-top: 4px !important; }
.pt_n,	.ptb_n	{ padding-top: 0px !important; }

.pb_xl,	.ptb_xl	{ padding-bottom: 32px !important; }
.pb_l,	.ptb_l	{ padding-bottom: 24px !important; }
.pb_m,	.ptb_m	{ padding-bottom: 16px !important; }
.pb_s,	.ptb_s	{ padding-bottom: 8px !important; }
.pb_xs,	.ptb_xs	{ padding-bottom: 4px !important; }
.pb_n,	.ptb_n	{ padding-bottom: 0px !important; }

.pl_xl,	.plr_xl	{ padding-left: 32px !important; }
.pl_l,	.plr_l	{ padding-left: 24px !important; }
.pl_m,	.plr_m	{ padding-left: 16px !important; }
.pl_s,	.plr_s	{ padding-left: 8px !important; }
.pl_xs,	.plr_xs	{ padding-left: 4px !important; }
.pl_n,	.plr_n	{ padding-left: 0px !important; }

.pr_xl,	.plr_xl	{ padding-right: 32px !important; }
.pr_l,	.plr_l	{ padding-right: 24px !important; }
.pr_m,	.plr_m	{ padding-right: 16px !important; }
.pr_s,	.plr_s	{ padding-right: 8px !important; }
.pr_xs,	.plr_xs	{ padding-right: 4px !important; }
.pr_n,	.plr_n	{ padding-right: 0px !important; }

/*-- margin --*/
.mt_xl,	.mtb_xl	{ margin-top: 32px !important; }
.mt_l,	.mtb_l	{ margin-top: 24px !important; }
.mt_m,	.mtb_m	{ margin-top: 16px !important; }
.mt_s,	.mtb_s	{ margin-top: 8px !important; }
.mt_xs,	.mtb_xs	{ margin-top: 4px !important; }
.mt_n,	.mtb_n	{ margin-top: 0px !important; }

.mb_xl,	.mtb_xl	{ margin-bottom: 32px !important; }
.mb_l,	.mtb_l	{ margin-bottom: 24px !important; }
.mb_m,	.mtb_m	{ margin-bottom: 16px !important; }
.mb_s,	.mtb_s	{ margin-bottom: 8px !important; }
.mb_xs,	.mtb_xs	{ margin-bottom: 4px !important; }
.mb_n,	.mtb_n	{ margin-bottom: 0px !important; }

.ml_xl,	.mlr_xl	{ margin-left: 32px !important; }
.ml_l,	.mlr_l	{ margin-left: 24px !important; }
.ml_m,	.mlr_m	{ margin-left: 16px !important; }
.ml_s,	.mlr_s	{ margin-left: 8px !important; }
.ml_xs,	.mlr_xs	{ margin-left: 4px !important; }
.ml_n,	.mlr_n	{ margin-left: 0px !important; }

.mr_xl,	.mlr_xl	{ margin-right: 32px !important; }
.mr_l,	.mlr_l	{ margin-right: 24px !important; }
.mr_m,	.mlr_m	{ margin-right: 16px !important; }
.mr_s,	.mlr_s	{ margin-right: 8px !important; }
.mr_xs,	.mlr_xs	{ margin-right: 4px !important; }
.mr_n,	.mlr_n	{ margin-right: 0px !important; }

/*---------- default spacer/division(spacer w/ line) styles ----------------------------------------*/

.spcr_xl { height: 32px; }
.spcr_l  { height: 24px; }
.spcr_m  { height: 16px; }
.spcr_s  { height: 8px; }
.spcr_xs { height: 4px; }

.div_xl	{ margin-bottom: 32px; }
.div_l	{ margin-bottom: 24px; }
.div_m	{ margin-bottom: 16px; }
.div_s	{ margin-bottom: 8px; }
.div_xs	{ margin-bottom: 4px; }

/*---------- default display styles ----------------------------------------*/

.disp_b  { display: block !important; }
.disp_i  { display: inline !important; }
.disp_ib { display: inline-block !important; }
.disp_it { display: inline-table !important; }
.disp_l  { display: list-item !important; }
.disp_n  { display: none !important; }
.disp_h  { visibility: hidden !important; }

/*-- white space --*/
.disp_nor { white-space: normal; }
.disp_nw  { white-space: nowrap; }
.disp_pre { white-space: pre; }

/*-- width --*/
.w_100 { width: 100%; }
.w_auto { width: auto; }

/*---------- default alignment styles ----------------------------------------*/

.align_t, .align_tl, .align_tc, .align_tr { vertical-align: top; }
.align_m, .align_ml, .align_mc, .align_mr { vertical-align: middle; }
.align_b, .align_bl, .align_bc, .align_br { vertical-align: bottom; }

.align_l, .align_tl, .align_ml, .align_bl { text-align: left; }
.align_c, .align_tc, .align_mc, .align_bc { text-align: center; }
.align_r, .align_tr, .align_mr, .align_br { text-align: right; }

/*---------- default float/clear styles ----------------------------------------*/

/*-- float styles --*/
.left, .float_l, .cfloat_l { float: left; }
.right, .float_r, .cfloat_r { float: right; }
.cfloat_l { clear: left; }
.cfloat_r { clear: right; }

/*-- clear styles --*/
.clear_l, .cfloat_l, .clear_r, .cfloat_r, clear_b { display: block; }
.clear_l, .cfloat_l { clear: left; }
.clear_r, .cfloat_r { clear: right; }
.clear_b { clear: both; }

/*-- clear group --
This is based on the "clearfix" hack.
	http://www.positioniseverything.net/
	http://csscreator.com/
	It is actually quite different (better) than "clearfix"
*/
.cgrp {
	width: 100%;
	display: block;
	display: inline-block; /* [ff] ignores 'inline-block'!!! Yeah!! */
}
/*-- group clearing (only necessary with ff (ignores 'inline-block') --*/
.cgrp:after {
	content: ".";
	display: block;
	height: 0;
	clear: both;
	visibility: hidden;
}

/*-- hard group --*/
.hardgrp {
	display: table;
	display: inline-block; /* [ff] ignores 'inline-block'!!! Yeah!! */
	margin: 0px;
}

/*----- default form element styles ----------------------------------------*/

input, select, textarea, .button { border: 1px solid; }
/*not [ie] [begin]\*/ html>body
option { padding-right: 6px; }
/*not [ie] [end]*/

select, button, .button, label { cursor: pointer; }
.button {
	text-align: center;
	white-space: nowrap;
}
.plain, .plain * {
	background-color: transparent;
	border: 0px;
}

/*-- form element widths --*/
.inp, .inp_xs, .inp_s, .inp_m, .inp_l, .inp_xl, .inp_25, .inp_50, .inp_100 { padding: 4px 0px; }
form .w_a,		.inp *		{ width: auto; }
form .w_xs, 	.inp_xs *	{ width: 32px; }
form .w_s,		.inp_s *	{ width: 64px; }
form .w_m,		.inp_m *	{ width: 96px; }
form .w_l,		.inp_l *	{ width: 128px; }
form .w_xl,		.inp_xl *	{ width: 240px; }
form .w_25,		.inp_25 *	{ width: 25%; }
form .w_50,		.inp_50 *	{ width: 50%; }
form .w_100,	.inp_100 *	{ width: 100%; }

/*-- form element container styling --*/

.inp_tbl { width: 100%; }
.inp_tbl td { text-align: left; }

.inp .ttl, .inp .ttl_need {
	text-align: right;
	white-space: nowrap;
	padding-right: 12px;
}
.inp .ttl_need { background-position: right center; }
.need {
	padding-left: 12px;
	background-position: left center;
}
