@charset "utf-8";

/* =========================================================
	TEXT
========================================================= */
/* TEXT SIZE
--------------------------------------------------------- */
.txt10 { font-size: 83.4% !important; }
.txt15 { font-size: 125% !important; }


/* TEXT COLOR
--------------------------------------------------------- */
.txtWhite { color: #FFFFFF !important; }
.txtGray  { color: #8a8a8a !important; }
.txtPink  { color: #ed6de5 !important; }
.txtRed   { color: #FF0000 !important; }
.txtBlue  { color: #2387d7 !important; }


/* TEXT ALIGN
--------------------------------------------------------- */
.left   {	text-align: left !important; }
.center {	text-align: center !important; }
.right  {	text-align: right !important; }



/* =========================================================
	IMAGE
========================================================= */
img.middle { vertical-align: middle !important; }


/* =========================================================
	LINE
========================================================= */
hr { padding:0; margin:28px 0 32px 0; height:1px; background-color:#CCC; border:none; line-height:1;}


/* =========================================================
	ICON
========================================================= */
ul.icon li {
	line-height: 1.8;
	padding-left: 10px;
	background-repeat: no-repeat;
	background-position: 0px 0.5em;
}
ul.icon.ib li {
	display:inline-block;
}
ul.arrow1  li { background-image: url(../images/icon_arrow1.gif); }
ul.arrow2  li { background-image: url(../images/icon_arrow2.gif); }
ul.arrow3  li { background-image: url(../images/icon_arrow3.gif); }
ul.square1 li { background-image: url(../images/icon_square1.gif); }
ul.pdf     li { padding-left: 20px; background-image: url(../images/pdf.gif); background-position: 0px 0.2em; }
ul.ust     li { padding-left: 20px; background-image: url(../images/ust.gif); background-position: 0px 0.2em; }
ul.youtube li { padding-left: 20px; background-image: url(../images/youtube.png); background-position: 0px 0.2em; }



/* =========================================================
	INDENT
========================================================= */
.indent1 { text-indent: 1em !important; }
.indent2 { text-indent: 2em !important; }



/* =========================================================
	FORM
========================================================= */
.txtmode1 { ime-mode: active; }
.txtmode2 { ime-mode: inactive; }



/* =========================================================
	DISPLAY
========================================================= */
.block { display: block !important;}
.none  { display: none !important;}


/* =========================================================
	BLOCK CENTERING
========================================================= */

.blockCentering { text-align:center; }

.blockCentering div,
.blockCentering li,
.blockCentering a,
.blockCentering button {
	float:none;
	display: -moz-inline-box;
	display: inline-block;
	/display: inline;
	/margin-right: 3px;
	/zoom: 1;
}


/* =========================================================
	擬似テーブル
========================================================= */
.pseudoTable span {
	display: table-cell !important;
	vertical-align: middle !important;
}
* html .pseudoTable span {
	display: inline !important;
	zoom: 1 !important;
}
*:first-child+html .pseudoTable span {
	display: inline !important;
	zoom: 1 !important;
}



/* =========================================================
	LIST
========================================================= */
/* フロートリスト
--------------------------------------------------------- */
ul.floatlist {
	overflow: hidden;
	zoom: 1;
}
ul.floatlist li {
	float: left;
	margin: 10px 20px 0px 0px;
}

ul.floatlist.narrow li {
	margin: 2px 20px 0px 0px;
}

ul.x2 li { width: 45%; }
ul.x3 li { width: 28%; }
ul.x4 li { width: 20%; }
ul.x5 li { width: 15%; }



/* イメージ置換リスト
--------------------------------------------------------- */
ul.imagelist {
	font-size: 1px;
	margin: 0px;
	padding: 0px;
	list-style: none;
}
ul.imagelist li { overflow: hidden; }
ul.imagelist li a,
ul.imagelist li span {
	text-decoration: none;
	background-repeat: no-repeat;
	text-indent: -9999px;
	display: block;
}

/* イメージ定義リスト（フロート）
--------------------------------------------------------- */
dl.floatlist        { overflow: hidden; }
dl.floatlist dt     {	float: left; }
dl.floatlist dt img {	display: block; }
dl.floatlist dd     { zoom: 1; margin: 0px }


/* イメージ定義リスト（ポジション）
--------------------------------------------------------- */
dl.thumblist           { position: relative; }
dl.thumblist dt        { position: relative; zoom: 1; }
dl.thumblist dt img    { position: absolute; top: 0px; left: 0px; }
dl.thumblist dl dt     { position: static; }
dl.thumblist dl dt img { position: static; }


/* 順序リスト
--------------------------------------------------------- */
ol.num { margin:20px 0 0 21px; }
ol.num li { list-style-type:decimal; text-align:justify; }


/* 順序リスト（入れ子）
--------------------------------------------------------- */
ol.num_ch { margin:0 0 20px 21px; }
ol.num_ch li { list-style-type:decimal; text-align:justify; }


/* 定義リスト（インデント）
--------------------------------------------------------- */
dl.indentlist {padding-left:10px;}
dl.indentlist dt { margin:14px 0 4px 0; font-weight:bold; }
dl.indentlist dd {}

/* 箇条書きリスト（インデント）
--------------------------------------------------------- */
ul.indent2_5 {}
ul.indent2_5 li {padding-left: 2.5em !important; text-indent: -2.5em !important; }


/* =========================================================
	TABLE
========================================================= */
/* 標準テーブル
--------------------------------------------------------- */
table.table1 {
	margin-top: 25px;
	background-image: url(../images/table1_bg.gif);
	background-repeat: repeat-x;
	background-position: left -999px;
}
table.table1 th, table.table1 td {
	padding: 8px;
	border-top: 1px solid #FFF;
	border-left: 1px solid #FFF;
}
table.table1 th {
	background: #e4ded1;
	font-weight: bold;
	text-align: center;
}
table.table1 th.row {
	background: #f2f1e8 url(../images/table1_bg.gif) no-repeat 0px 100%;
	text-align: left;
}
table.table1 th.top { background: #f2f1e8 url(../images/table1_bg.gif) no-repeat 0px 100%; border-top: 1px #999999 dotted; }

table.table1 td { background: url(../images/table1_bg.gif) no-repeat 100% 100%; }
table.table1 td.top { background: url(../images/table1_bg.gif) no-repeat 100% 100%; border-top: none; }



/* マージン・背景なし（入れ子用）
--------------------------------------------------------- */
table.table2 { margin:0; }
table.table2 td { padding:0; background:none; vertical-align:top; }


/* =========================================================
	BUTTON
========================================================= */
/* 画像ボタン
--------------------------------------------------------- */
a:hover.imgbtn img {
	opacity:0.7;
	filter:alpha(opacity=70);
}

/* テキストボタン
--------------------------------------------------------- */

ul.txtbtn {
	margin-top:30px;
}

ul.txtbtn li a {
	display:block;
	width:120px;
	height:23px;
	padding-top:7px;
	margin:0 0 5px 0;
	border-bottom:2px solid #DDD;
	text-align:center;
	text-decoration:none;
	font-weight:bold;
	color:#FFF;
	background-color: #a0c836;
	background-image: url(../images/form_button1.gif);
	background-repeat: repeat-x;
	background-position: 0px 50%;
}


div#maincontent ul.txtbtn li a:hover,
div#maincontent ul.txtbtn li a:active {
	color:#FFF;
	opacity:0.7;
	filter:alpha(opacity=70);
}



/* テキストボタン
--------------------------------------------------------- */

.txtbtn a {
	display:block;
	padding:7px;
	background:#2387d7 url(../images/form_button1.gif) repeat-x 0px 50%;
	border-bottom:2px solid #DDD;
	text-align:center;
	text-decoration:none;
	font-weight:bold;
	color:#FFF;
}


.txtbtn a:hover,
.txtbtn a:active {
	color:#FFF;
	opacity:0.7;
	filter:alpha(opacity=70);
}


/* =========================================================
	囲み
========================================================= */

div.column_space1 {
	background:#f2f1e8;
	margin-top:20px;
	padding:20px;
}

div.column_space2 {
	background:#EFEFEF;
	margin-top:20px;
	padding:20px;
}


/* =========================================================
	MARGIN
========================================================= */
.marginT0   { margin-top    :  0px !important; }
.marginT5   { margin-top    :  5px !important; }
.marginT10  { margin-top    : 10px !important; }
.marginT12  { margin-top    : 12px !important; }
.marginT15  { margin-top    : 15px !important; }
.marginT20  { margin-top    : 20px !important; }
.marginT25  { margin-top    : 25px !important; }
.marginT30  { margin-top    : 30px !important; }
.marginT40  { margin-top    : 40px !important; }
.marginT50  { margin-top    : 50px !important; }
.marginT60  { margin-top    : 60px !important; }
.marginT70  { margin-top    : 70px !important; }
.marginT80  { margin-top    : 80px !important; }
.marginT90  { margin-top    : 90px !important; }
.marginT100 { margin-top    :100px !important; }
.marginR5   { margin-right  :  5px !important; }
.marginR10  { margin-right  : 10px !important; }
.marginR20  { margin-right  : 20px !important; }
.marginR30  { margin-right  : 30px !important; }
.marginR40  { margin-right  : 40px !important; }
.marginR50  { margin-right  : 50px !important; }
.marginB5   { margin-bottom :  5px !important; }
.marginB10  { margin-bottom : 10px !important; }
.marginB15  { margin-bottom : 15px !important; }
.marginB20  { margin-bottom : 20px !important; }
.marginB30  { margin-bottom : 30px !important; }
.marginB40  { margin-bottom : 40px !important; }
.marginB50  { margin-bottom : 50px !important; }
.marginL0   { margin-left   :  0px !important; }
.marginL5   { margin-left   :  5px !important; }
.marginL10  { margin-left   : 10px !important; }
.marginL20  { margin-left   : 20px !important; }
.marginL25  { margin-left   : 25px !important; }
.marginL30  { margin-left   : 30px !important; }
.marginL40  { margin-left   : 40px !important; }
.marginL50  { margin-left   : 50px !important; }
.marginL270 { margin-left   :270px !important; }
.marginL300 { margin-left   :300px !important; }



/* =========================================================
	PADDING
========================================================= */
.paddingT0  { padding-top    :  0px !important; }
.paddingT5  { padding-top    :  5px !important; }
.paddingT10 { padding-top    : 10px !important; }
.paddingT15 { padding-top    : 15px !important; }
.paddingT20 { padding-top    : 20px !important; }
.paddingT25 { padding-top    : 25px !important; }
.paddingT30 { padding-top    : 30px !important; }
.paddingT40 { padding-top    : 40px !important; }
.paddingT45 { padding-top    : 45px !important; }
.paddingT50 { padding-top    : 50px !important; }
.paddingT60 { padding-top    : 60px !important; }
.paddingL0  { padding-left   :  0px !important; }
.paddingL10 { padding-left   : 10px !important; }
.paddingL25 { padding-left   : 25px !important; }
.paddingL30 { padding-left   : 30px !important; }
.paddingL35 { padding-left   : 35px !important; }
.paddingL40 { padding-left   : 40px !important; }
.paddingL50 { padding-left   : 50px !important; }
.paddingB5  { padding-bottom :  5px !important; }
.paddingB10 { padding-bottom : 10px !important; }
.paddingB20 { padding-bottom : 20px !important; }
.paddingB30 { padding-bottom : 30px !important; }
.paddingB40 { padding-bottom : 40px !important; }
.paddingB50 { padding-bottom : 50px !important; }



/* =========================================================
	FLOAT
========================================================= */
.floatL { float:  left !important; }
.floatR { float: right !important; }
.floatN { float: none !important; }
img.floatL, img.floatR { display: block !important; }



/* =========================================================
	CLEAR
========================================================= */
.clear  { clear: both !important; }
br.clear {
	display: block;
	width: 0;
	height: 0;
	overflow: hidden;
	visibility: hidden;
}


/* CLEAR FIX
--------------------------------------------------------- */
.clearfix {	zoom:1 !important; }/* for IE 5.5-7 */
.clearfix:after {
	content: "." !important;
	display: block !important;
	height: 0px !important;
	clear: both !important;
	visibility: hidden !important;
}
