@charset "shift_jis";
/* ============================================================
共通・汎用モジュール
（基本段落／区切り線／見出し／テキスト／リンク、画像マーカー／リスト／表組み／画像まわり／フォーム／汎用クラス）

%update / 2011.05.31

------------------
【目次】
------------------
▼基本段落
▼区切り線
▼見出し
▼テキスト
▼リンク、画像マーカー
▼リスト
▼表組み
▼画像まわり
▼フォーム
▼汎用クラス
============================================================ */

/* ------------------------------------------------------------
▼基本段落
------------------------------------------------------------ */
.sectionL {
	margin-bottom: 36px !important;
}
.sectionLBfrBox {  /* （『.sectionL.bfrBox』をJSで代替） */
	margin-bottom: 40px !important;  /* refer value => .sectionL */
}

.sectionM {
	margin-bottom: 16px !important;
}
.sectionMBfrBox {  /* （『.sectionM.bfrBox』をJSで代替） */
	margin-bottom: 20px !important;  /* refer value => .sectionM */
}

.sectionS {
	margin-bottom: 6px !important;
}
.sectionSBfrBox {  /* （『.sectionS.bfrBox』をJSで代替） */
	margin-bottom: 10px !important;  /* refer value => .sectionS */
}


/* ------------------------------------------------------------
▼区切り線
------------------------------------------------------------ */
.sepa01L,
.sepa01M,
.sepa01S {
	background: url(../../img/2011/cmn_line_dot_01.gif) left bottom repeat-x;
	font-size: 0;
	line-height: 1px;
	height: 1px;
	overflow: hidden;
}

.sepa01L {
	padding-top: 36px !important;  /* refer value => .sectionL */
}
.sepa01M {
	padding-top: 16px !important;  /* refer value => .sectionM */
}
.sepa01S {
	padding-top: 6px !important;  /* refer value => .sectionS */
}
.sepaLastItem {  /* （『.sepa0??.lastItem』をJSで代替） */
	margin: 0 !important;
	border: none !important;
	padding: 0 !important;
	background: transparent !important;
	font-size: 0 !important;
	line-height: 0 !important;
	height: 0 !important;
}


/* ------------------------------------------------------------
▼見出し
------------------------------------------------------------ */
h1 {
	margin-bottom: 20px;
	font-size: 116.7%;
}

h2 {
	margin-bottom: 15px;
	font-size: 116.7%;
}
h2.bfrBox {
	margin-bottom: 18px;  /* refer value => h2 */
}

.h2Wrap {
	position: relative;
	margin-bottom: 20px;
	border: 1px solid #d2d2d2;
	background: url(../../img/2011/cmn_bg_h2_01.gif) left top repeat-x;
}

.h2Wrap h2 {
	margin: 0;
}

h3 {
	margin-bottom: 10px;
	font-size: 100%;
}
h3.bfrBox {
	margin-bottom: 13px;  /* refer value => h3 */
}

h4 {
	margin-bottom: 10px;
	font-size: 100%;
}
h4.bfrBox {
	margin-bottom: 13px;  /* refer value => h4 */
}

h5 {
	margin-bottom: 10px;
	font-size: 100%;
}
h5.bfrBox {
	margin-bottom: 13px;  /* refer value => h5 */
}

h6 {
	margin-bottom: 10px;
	font-size: 100%;
}
h6.bfrBox {
	margin-bottom: 13px;  /* refer value => h6 */
}


/* ------------------------------------------------------------
▼テキスト
------------------------------------------------------------ */
/* <a> */
a:link { color: #1040cf; text-decoration: underline; }
a:visited { color: #1040cf; text-decoration: underline; }
a:hover,
a:active { color: #1040cf; text-decoration: none; }
/* --- */

/* accent */
.txtAccent01 {
	color: #f00;
}
a.txtAccent01:link,
.txtAccent01 a:link{ color: #f00 !important; }
a.txtAccent01:visited,
.txtAccent01 a:visited{ color: #f00 !important; }
a.txtAccent01:hover,
a.txtAccent01:active,
.txtAccent01 a:hover,
.txtAccent01 a:active{ color: #f00 !important; }
/* --- */

/* size */
.txtSpe01 {  /* pxではなく%で指定 */
	font-size: 116.7%;
}

.txtSub01 {  /* pxではなく%で指定 */
	font-size: 83.4%;
}
/* --- */

/* has marker */
.hasMrk01 {
	padding-left: 1.4em;
}
.hasMrk01 .mrk {
	margin-right: 0.4em;
	margin-left: -1.4em;  /* negative value => .hasMrk01 padding-left */
}

ul.listHasMrk01 li {
	clear: both;
	margin-bottom: 3px;
	padding-left: 2.5em;
}
ul.listHasMrk01 li .mrk {
	float: left;
	display: inline;  /* for IE6 */
	margin-left: -2.5em;  /* negative value => ul.listHasMrk01 li padding-left */
}
ul.listHasMrk01 li:last-child {  /* ↓ */
	margin-bottom: 0 !important;
}
ul.listHasMrk01 li.lastChild {  /* （『:last-child』をJSで代替） */
	margin-bottom: 0 !important;
}
/* --- */

/* superscript, subscript */
sup,
sub {
	line-height: 1.1;
}
* html sup,
* html sub { font-size: 100%; }  /* for IE6 */
*:first-child+html sup,
*:first-child+html sub { font-size: 100%; }  /* for IE7 */
head~/* */body sup,
head~/* */body sub { font-size: 100%; }  /* for IE8 */
html:not(:target) sup,
html:not(:target) sub { font-size: 83.4%; }  /* for mordern except IE8 */

sup { vertical-align: 0.25em; }
sub { vertical-align: 0px; }
/* --- */


/* ------------------------------------------------------------
▼リンク、画像マーカー
------------------------------------------------------------ */
/* <a>の文字色設定は『テキスト』に記述 */

/* ------------------
【link marker】
------------------ */
/* link01 maker */
.link01 {
	padding-left: 15px;
	background: url(../../img/2011/cmn_mrk_arrow_01.gif) 0 5px no-repeat;
	min-height: 8px;  /* refer value => background-image height */
}
* html .link01 { height: 8px; }  /* for IE6 */

.link01Txt {
	display: inline;
	padding-left: 20px;
	padding-right: 2px;
	background: url(../../img/2011/cmn_mrk_arrow_01.gif) 5px 2px no-repeat;
	line-height: 8px;
	min-height: 8px;  /* refer value => background-image height */
}
* html .link01Txt { height: 8px; }  /* for IE6 */

.link01Up {
	padding-left: 13px;
	background: url(../../img/2011/cmn_mrk_arrow_03_up.gif) 0 5px no-repeat;
	min-height: 8px;  /* refer value => background-image height */
}
* html .link01Up { height: 8px; }  /* for IE6 */

.link01UpTxt {
	display: inline;
	padding-left: 18px;
	padding-right: 2px;
	background: url(../../img/2011/cmn_mrk_arrow_03_up.gif) 5px 2px no-repeat;
	line-height: 8px;
	min-height: 8px;  /* refer value => background-image height */
}
* html .link01UpTxt { height: 5px; }  /* for IE6 */

.posRightHasInnr {
	text-align: right;
}
.posRightHasInnr .link01,
.posRightHasInnr .link01Up {
	display: inline-block;  /* ただしFirefox2は未対応 */
	vertical-align: baseline;
	zoom: 1;  /* for IE hasLayout true */
}
* html .posRightHasInnr .link01,
* html .posRightHasInnr .link01Up { display: inline; }  /* for IE6 */
*:first-child+html .posRightHasInnr .link01,
*:first-child+html .posRightHasInnr .link01Up { display: inline; }  /* for IE7 */

.posCenterHasInnr {
	text-align: center;
}
.posCenterHasInnr .link01,
.posCenterHasInnr .link01Up {
	display: inline-block;  /* ただしFirefox2は未対応 */
	vertical-align: baseline;
	zoom: 1;  /* for IE hasLayout true */
}
* html .posCenterHasInnr .link01,
* html .posCenterHasInnr .link01Up { display: inline; }  /* for IE6 */
*:first-child+html .posCenterHasInnr .link01,
*:first-child+html .posCenterHasInnr .link01Up { display: inline; }  /* for IE7 */
/* --- */

/* ------------------
【has icon】
------------------ */
.hasIcon01Unit {
}

.iconOtherWin {
	display: inline;
	padding: 0;
	padding-right: 15px;
	background: url(../../img/2011/cmn_ico_otherwin_01.gif) 2px 1px no-repeat;
	min-height: 11px;  /* refer value => background-image height */
}
* html .iconOtherWin { height: 11px; }  /* for IE6 */

.hasIcon01Unit span.iconOtherWin {  /* inner is blank text */
	margin: 0 3px;
	padding-right: 11px;
	background-position: 0 0;
	font-size: 11px;
	line-height: 11px;
	vertical-align: baseline;
	height: 11px;  /* refer value => image height */
}

.hasIcon01Unit img.icon {
	margin-left: 5px;
	margin-right: 5px;
	vertical-align: -3px;
}
* html .hasIcon01Unit img { margin-top: 0.05em; margin-bottom: 0.05em; }  /* for IE6 */


/* ------------------------------------------------------------
▼リスト
------------------------------------------------------------ */
/* ------------------
【list dot】
------------------ */
ul.listDot01 {
}

ul.listDot01 li,
.listInnr ul.listDot01 li {
	margin-bottom: 3px;
	padding-left: 12px;
	background: url(../../img/2011/cmn_mrk_dot_01.gif) 4px 6px no-repeat;
}
ul.listDot01 li:last-child,
.listInnr ul.listDot01 li:last-child {  /* ↓ */
	margin-bottom: 0 !important;
}
ul.listDot01 li.lastChild,
.listInnr ul.listDot01 li.lastChild {  /* （『:last-child』をJSで代替） */
	margin-bottom: 0 !important;
}

/* ------------------
【list order】
------------------ */
ol.listOrd01 {
}

ol.listOrd01 li {
	clear: both;
	margin-bottom: 3px;
	padding-left: 2.1em;
}
ol.listOrd01 li .mrk {
	float: left;
	display: inline;  /* for IE6 */
	margin-left: -2.1em;  /* negative value => ol.listOrd01 li padding-left */
}
ol.listOrd01 li:last-child {  /* ↓ */
	margin-bottom: 0 !important;
}
ol.listOrd01 li.lastChild {  /* （『:last-child』をJSで代替） */
	margin-bottom: 0 !important;
}

/* ------------------
【list column】
------------------ */
ul.listRow01 {
}

ul.listRow01 li {
	margin-bottom: 3px;
}
ul.listRow01 li:last-child {  /* ↓ */
	margin-bottom: 0 !important;
}
ul.listRow01 li.lastChild {  /* （『:lastChild』をJSで代替） */
	margin-bottom: 0 !important;
}

/* ------------------
【list row】
------------------ */
ul.listCol01 {
}

ul.listCol01 li {
	display: inline-block;  /* ただしFirefox2は未対応 */
	margin-right: 20px;
	margin-bottom: 3px;
	vertical-align: top;
	zoom: 1;  /* for IE hasLayout true */
}
* html ul.listCol01 li { display: inline; }  /* for IE6 */
*:first-child+html ul.listCol01 li { display: inline; }  /* for IE7 */

.posRightHasInnr ul.listCol01 li {  /* 『.listCol01F li』は不可 */
	margin-left: 20px;
	margin-right: 0;
}

/* listCol01 float版　廃止
ul.listCol01F li {
	float: left;
	display: inline; */  /* for IE6 */
/*	margin-right: 20px;
	margin-bottom: 3px;
	white-space: nowrap;
}
ul.listCol01F li.cancelNoWrap {
	white-space: normal;
}
*/


/* ------------------------------------------------------------
▼表組み
------------------------------------------------------------ */
table.widthAuto { width: auto !important; }

table.posCenter {
	margin: 0 auto !important;
	text-align: left !important;
}
table.posRight {
	margin: 0 0 0 auto !important;
	text-align: left !important;
}

table th.posTop,
table td.posTop { vertical-align: top !important; }
table th.posMiddle,
table td.posMiddle { vertical-align: middle !important; }
table th.posBottom,
table td.posBottom { vertical-align: bottom !important; }

table th.posLeft,
table td.posLeft { text-align: left !important; }
table th.posCenter,
table td.posCenter { text-align: center !important; }
table th.posRight,
table td.posRight { text-align: right !important; }

table th.cancelBold { font-weight: normal !important; }

/* ------------------
【layout table】
------------------ */
table.tblLayout {
}
table.tblLayout th,
table.tblLayout td {
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}

/* ------------------
【table 01】
------------------ */
table.tbl01 {
	border-top: 1px solid #999;
	border-left: 1px solid #999;
	background: #fff;
}

table.tbl01 th,
table.tbl01 td {
	border-right: 1px solid #999;
	border-bottom: 1px solid #999;
	padding: 5px 0;
	background: #fff;
	font-weight: normal;
	text-align: left;
	vertical-align: top;
}
table.tbl01 th {
	background: #eee;
	font-weight: bold;
	text-align: left;
	vertical-align: top;
}

table.tbl01 .withColor01 {
	background: #eee;
}

table.tbl01 th p,
table.tbl01 th ul,
table.tbl01 th ol,
table.tbl01 th dl,
table.tbl01 th .cellInnr01,
table.tbl01 td p,
table.tbl01 td ul,
table.tbl01 td ol,
table.tbl01 td dl,
table.tbl01 td .cellInnr01 {
	margin: 0 10px;
}

table.tbl01 th .cellInnr01 p,
table.tbl01 th .cellInnr01 ul,
table.tbl01 th .cellInnr01 ol,
table.tbl01 th .cellInnr01 dl,
table.tbl01 td .cellInnr01 p,
table.tbl01 td .cellInnr01 ul,
table.tbl01 td .cellInnr01 ol,
table.tbl01 td .cellInnr01 dl {
	margin: 0 0 5px;
}

table.tbl01 td .cellInnr01 .tblLayout {
	width: 100%;
}
table.tbl01 td .cellInnr01 .tblLayout th,
table.tbl01 td .cellInnr01 .tblLayout td {
	padding-top: 0;
	padding-bottom: 0;
}

table.tbl01 td .cellInnr01 table.lastItem * {
	margin-bottom: 0 !important;
}


/* ------------------------------------------------------------
▼画像まわり
------------------------------------------------------------ */
/* ------------------
【adjust image】
------------------ */
img.insertImgL,
img.insertImgM,
img.insertImgS {
	margin: 0 5px;
	padding:2px 0;
}

img.insertImgL {
	vertical-align: -8px;
	line-height: 22px;
}
* html img.insertImgL { margin-top: 0em; margin-bottom: 0em; } /* for IE6 */
img.insertImgM {
	vertical-align: -5px;
	line-height: 16px;
}
* html img.insertImgM { margin-top: 0.05em; margin-bottom: 0.05em; } /* for IE6 */
img.insertImgS {
	vertical-align: -3px;
	line-height: 11px;
}
* html img.insertImgS { margin-top: 0.1em; margin-bottom: 0.1em; } /* for IE6 */

img.insertImgLineHead {  /* （『img.insertImg?.lineHead』をJSで代替） */
	margin-left: 0 !important;
}

/* ------------------
【float image】
------------------ */
.imgFloatL {
	float: left;
	display: inline;  /* for IE6 */
	margin-right: 20px;
	margin-bottom: 10px;
	padding-top: 3px;
}
.imgFloatR {
	float: right;
	display: inline;  /* for IE6 */
	margin-left: 20px;
	margin-bottom: 10px;
	padding-top: 3px;
}

/* ------------------
【image with caption】
------------------ */
.imgWithCapt {
	text-align: left;
}
.posRightHasInnr .imgWithCapt {
	margin: 0 0 0 auto;
}
.posCenterHasInnr .imgWithCapt {
	margin: 0 auto;
}
.imgWithCapt .pic {
	margin-bottom: 5px;
}
.imgWithCapt .capt {
}

/* ------------------
【image wrapper】
------------------ */
.imgWrap {
}

.imgWrap li {
	display: inline-block;  /* ただしFirefox2は未対応 */
	margin-right: 20px;
	margin-bottom: 3px;
	vertical-align: top;
	zoom: 1;  /* for IE hasLayout true */
}
* html .imgWrap li { display: inline; }  /* for IE6 */
*:first-child+html .imgWrap li { display: inline; }  /* for IE7 */

.imgWrap li:last-child {  /* ↓ */
	margin-right: 0 !important;
}
.imgWrap li.lastChild {  /* （『:last-child』をJSで代替） */
	margin-right: 0 !important;
}

.posRightHasInnr .imgWrap {
	margin: 0 0 0 auto;
}
.posCenterHasInnr .imgWrap {
	margin: 0 auto;
}
.posRightHasInnr .imgWrap .imgWithCapt,
.posCenterHasInnr .imgWrap .imgWithCapt {
	margin: 0;
}


/* ------------------------------------------------------------
▼フォーム
------------------------------------------------------------ */
form {
}

input.iptx {  /* type="text" */
	margin-top: 1px;
	margin-bottom: 1px;
	font-size: 100%;
	width: 115px;
}
input.ipimg {  /* type="image" */
	margin-top: 0;
	margin-bottom: 0;
}
input.ipcb {  /* type="checkbox" */
}
input.iprd {  /* type="radio" */
}

select.slct {
	font-size: 100%;
}

textarea.txar {
	font-size: 100%;
	width: 115px;
}

/* width */
.formElemSS { width: 28px !important; }
.formElemS { width: 40px !important; }
.formElemM { width: 115px !important; }
.formElemL { width: 235px !important; }
.formElemLL { width: 360px !important; }
.formElemFull { width: 100% !important; }
/* --- */

/* elemWrap */
.formElemWrap {
}
.formElemWrap .elemItem {
	margin-right: 5px;
	vertical-align: middle;
}
.formElemWrap .elemLeader {
}
.formElemWrap .elemFollower {
	margin-right: 0 !important;
}
.formElemWrap .elemFollower02 {
	margin-left: 5px;
	margin-right: 0 !important;
}
/* --- */


/* ------------------------------------------------------------
▼汎用クラス
------------------------------------------------------------ */
/* ------------------
【clearfix】
------------------ */
.clearfix:after {
	clear: both;
	display: block;
	visibility: hidden;
	font-size: 0;
	height: 0;
	content: ".";
}
.clearfix {
	display: inline-block;
	min-height: 1%;  /* for IE7 */
}
/* hide from MacIE \*/
* html .clearfix {
	height: 1%;
}
.clearfix {
	display: block;
}
/* end hide from MacIE */

/* ------------------
【adjust margin】
------------------ */
.lastItem { margin-bottom: 0 !important; }
.lastItemCol { margin-right: 0 !important; }
ul.lastItem > li { margin-bottom: 0 !important; }
li.UlLastItemChild { margin-bottom: 0 !important; }  /* （『ul.lastItem > li』をJSで代替） */

.nearNext { margin-bottom: 0 !important; }
.nearNextCol { margin-right: 0 !important; }

.hasFollower { margin-bottom: 3px !important; }

.eachHasFollower p,
.eachHasFollower ul,
.eachHasFollower ol,
.eachHasFollower dl {
	margin-bottom: 3px !important;  /* same value => .hasFollower */
}
.eachHasFollower p.lastItem,
.eachHasFollower ul.lastItem,
.eachHasFollower ol.lastItem,
.eachHasFollower dl.lastItem {
	margin-bottom: 0 !important;
}

/* ------------------
【hide】
------------------ */
.hide { display: none !important; }

.hideB {
	position: absolute !important;
	visibility: hidden !important;
	left: -9999px !important;
	top: 0 !important;
}

/* ------------------
【indent】
------------------ */
.indent01 { margin-left: 15px !important; }

/* ------------------
【inline position】
------------------ */
.posLeft { text-align: left !important; }
.posRight { text-align: right !important; }
.posCenter { text-align: center !important; }
.posTop { vertical-align: top !important; }
.posMiddle { vertical-align: middle !important; }
.posBottom { vertical-align: bottom !important; }

.eachLiPosTop li { vertical-align: top !important; }
.eachLiPosMiddle li { vertical-align: middle !important; }
.eachLiPosBottom li { vertical-align: bottom !important; }
