@charset "utf-8";

/* ---------------------------------------------
　layout modules
------------------------------------------------ */

/* base modules
------------------------------------------------ */
.content p,
.content ul,
.content dl,
.content ol,
.content table{
	margin: 20px 0 0;
	line-height:1.8em;
}

.content ul p, .content ul ul, .content ul dl, .content ul ol, 
.content dl p, .content dl ul, .content dl dl, .content dl ol, 
.content ol p, .content ol ul, .content ol dl, .content ol ol, 
.content table p, .content table ul, .content table dl, .content table ol{
	margin: 0;
}

.content p img, .content dl img, .content ul img {
	vertical-align: middle;
}


/* common modules
------------------------------------------------ */

/* ------ text --------------------------------- */

.small    { font-size:87%;  }
.x-small  { font-size:78%;  }

.large    { font-size:107%; }
.x-large  { font-size:120%; }

.attention{ color: #FF3366;   }
.bold     { font-weight:bold; }

.english  { color:#996600; }

.mt20 {margin-top: 20px;}

/* ------ position ----------------------------- */

.center{ text-align: center; }
.right { text-align:right;   }
.left  { text-align:left;    }

.top   { vertical-align:top;    }
.bottom{ vertical-align:bottom; }
.middle{ vertical-align:middle; }

.float-l{ float: left;  }
.float-r{ float: right; }
.clear  { clear: both;  }

.img-l{ float:left;  margin:0 25px 10px 0; }
.img-r{ float:right; margin:0 0 10px 25px; }


/* ------ other -------------------------------- */

/* --- line --- */

.hr{
	clear:both;
	font-size:1px;
	height:1px;
	background:url(../img/bg_title3.png) repeat-x 0 100%;
	margin-top:40px;
}

.hr hr{	display:none; }



/* --- anchor --- */

.anchor{
	background:url(../img/icon_arrow_001.png) no-repeat 0 0.3em;
	padding-left:15px;
}



/* --- pagetop --- */

.content .pagetop{
	text-align:right;
	font-size:78%;
}

.content .pagetop a{
	background:url(../img/icon_pagetop.png) no-repeat 0 50%;
	padding-left:15px;
}



/* --- openwin --- */

.openwin{ margin-left:5px; }



/**/

.content .detail-link{
	text-align:right;
	margin-top:-20px;
	font-size:87%;
}




/* ------ title -------------------------------- */

/* h1 */
.content h1{
	float:left;
	width:95px;
}

/* h2 */

.content h2{
	clear:both;
	margin:30px 0 0;
	font-weight:bold;
	background:url(../img/bg_title2.png) no-repeat 0 0;
	padding:12px 20px 17px;
	color:#fff;
}
.content h2 a:link          { text-decoration:underline; }
.content h2 a:visited       { text-decoration:underline; }
.content h2 a:hover,a:active{ text-decoration:none; }

/* h3 */

.content h3 {
	clear:both;
	margin:30px 0 0;
	font-weight:bold;
	background:url(../img/bg_title3.png) no-repeat 0 100%;
	padding:0 10px 10px 0;
}

/* h4 */

.content h4{
	clear:both;
	font-weight:bold;
	margin:30px 0 0;
	padding:8px 19px 8px;
	color:#333;
	background:url(../img/bg_title4.png) repeat-y 0 0;
}

/* h5 */

.content h5 {
	clear:both;
	margin:15px 0 0;
	font-weight:bold;
	background:url(../img/bg_title5.png) no-repeat 0 100%;
	padding:0 10px 0 25px;
	line-height:38px;
}


/* css reset */

.content h2.none, 
.content h3.none, 
.content h4.none{
	padding:0;
	background:none;
	border:0;
}


/* ------ ul ----------------------------------- */

.content ol li {
	list-style-type:decimal;
	margin-left: 25px;
	margin-bottom:5px;
}


/* --- normal list --- */

.list li{
	background:url(../img/icon_list.png) no-repeat 0 0.5em;
	padding-left:10px;
	margin-bottom:5px;
}

/* --- link list --- */

.link li{
	background:url(../img/icon_arrow_001.png) no-repeat 0 0.6em;
	padding-left:15px;
	margin-bottom:5px;
}

.link li li{
	background:url(../img/icon_arrow_002.png) no-repeat 0 0.6em;
}

/* --- margin --- */

.margin li{
	margin-bottom:20px;
}

.margin li li{
	margin-bottom:0;
}

/* --- number list --- */

ol li {
	list-style-type:decimal;
	margin-left:25px;
	margin-bottom:5px;
}

ol ul li{
	list-style-type:none;
	margin-left:10px;
}

/* --- attention list --- */

.rice li{
	margin:0 0 5px 1em;
	text-indent:-1em;
}

/* --- compact list --- */

.compact li{
	display:inline;
	margin-right:10px;
}

.compact.link li{
	background-position:0 0.3em;
}


/* ------ dl ----------------------------------- */

/* --- normal list --- */

.list dt{
	background:url(../img/icon_list.png) no-repeat 0 0.5em;
	padding-left:10px;
	font-weight:bold;
}

.list dd{
	padding-left:15px;
}

/* --- link list --- */

.link dt{
	background:url(../img/icon_arrow_001.png) no-repeat 0 0.5em;
	padding-left:15px;
	font-weight:bold;
}

.link dd{
	padding-left:15px;
}

/* --- news --- */

.news dt {
	font-size:87%;
}

.news dd {
	margin-bottom:15px;
}

/* --- FAQ --- */

.faq dt {
	background: url(../img/icon_faq_q.png) no-repeat 5px 0.3em;
	padding: 10px 5px 15px 50px;
	margin: 15px 0 0 0;
	font-weight: bold;
	font-size: 105%;
}

.faq dd {
	background: url(../img/icon_faq_a.png) no-repeat 5px 0.3em;
	padding: 5px 5px 15px 50px;
	border-bottom: 1px solid #ddd;
}


/* --- sitemap --- */

.content dl.sitemap dt{
	float:left;
	clear:left;
	width:10em;
}

.content dl.sitemap dd{
	padding:0 0 10px 12em;
	border-bottom:1px solid #ccc;
	margin-bottom:10px;
}


/* ------ layout frame ------------------------- */

.content .layout-frame {
	clear: both;
	margin-left: -20px;
}

.content .layout-3col {
	margin-left: -15px;
}

.content .layout-4col {
	margin-left: -10px;
}

.content .layout-unit {
	float: left;
	display: inline;
	margin-left: 20px;
}

.content .layout-3col .layout-unit {
	margin-left: 15px;
}

.content .layout-4col .layout-unit {
	margin-left: 10px;
}

.grid-1 { width: 55px; }
.grid-2 { width:100px; }
.grid-3 { width:155px; }
.grid-4 { width:210px; }
.grid-5 { width:265px; }
.grid-6 { width:320px; }
.grid-7 { width:375px; }
.grid-8 { width:430px; }
.grid-9 { width:485px; }
.grid-10{ width:540px; }
.grid-11{ width:595px; }



/*---------------------------------------
   インデックス
---------------------------------------*/

.index-list{
	clear: both;
}

.index-list .layout-frame{
	background:url(../img/bg_index_bottom.png) no-repeat 20px 100%;
	margin-top:20px;
}

.index-list .layout-frame.one-col{
	width: 340px;
}

.index-list .layout-frame.none-unit{
	background:url(../img/bg_index_bottom_one.png) no-repeat 20px 100%;
}

.index-list .layout-frame .layout-unit{
	background:url(../img/bg_index_top.png) no-repeat 0 0;
}

.index-list .layout-frame .layout-unit dl{
	line-height: 1.5;
	padding:20px;
	margin:0;
}

.index-list .layout-frame .layout-unit dl dt{
	background:url(../img/icon_arrow_001.png) no-repeat 0 0.4em;
	padding: 0 0 5px 20px;
	font-weight:bold;
	border-bottom:1px solid #dedede;
	margin: 0 0 10px;
}

.index-list .layout-frame .layout-unit dl dt a{
	color:#333;
	text-decoration:none;
	display:block;
}

.index-list .layout-frame .layout-unit dl dd{
}

.index-list .layout-frame .layout-unit dl dd.img{
	float:left;
	margin:0 10px 15px 0;
	border-top:1px solid #fff;
	padding-top:5px;
}

.index-list .layout-frame .layout-unit dl dd.text{
	padding-top:5px;
}

.index-list .layout-frame .layout-unit dl dd.link{
	line-height: 1.2;
	text-align:right;
	font-size:87%;
	margin-top:10px;
}


/* ------ social media ------------------------- */

.social{
	margin-top:20px;
}

.social ul li{
	float:left;
	margin-right:10px;
}

.social .facebook{
	clear:both;
	margin-top:15px;
}

.social ul:after {
	visibility:hidden;
	display:block;
	font-size:0;
	content:" ";
	clear:both;
	height:0;
}
* html .social ul             { zoom:1; } /* IE6 */
*:first-child+html .social ul { zoom:1; } /* IE7 */


.movie{
	margin-top:20px;
}
/* ------ decoration box ----------------------- */

.decoration-box{
	margin:30px 0 0;
	padding:20px;
}

.content .decoration-box .first-child{
	margin-top:0;
}

.decoration-box.decoration001{
	border:5px solid #c1c9d7;
}

.decoration-box.decoration002{
	background:url(../img/bg_thead.png) repeat 0 0;
}


/* ------ table -------------------------------- */

table{
	border-collapse:collapse;
	width:100%;
	border:1px solid #cecece;
}

table th,
table td{
	padding:10px;
	vertical-align:top;
	border:2px solid #fff;
	background:#fff;
}

table tbody th{
	background:#f1eed9;
}

table tbody td{
	background:#f7f6f1;
}


table thead th {
	background:url(../img/bg_thead.png) repeat;
	text-align:center;
}


/* total */

table td.total{
	text-align:right;
	background:#ffe5e5;
}


/* --- noborder --- */

table.noborder td,
table.noborder th{
	border:0;
}


/* recruit */

.mynavi img {
	width: 100%;
	height: auto
}