@charset "UTF-8";

/* CSS Document */
@font-face {
	font-family : 'Hannari';
	src :	url('/contents/font/Hannari.eot');
	src :	url('/contents/font/Hannari.eot?#iefix') format('enbedded-opentype'),
			url('/contents/font/Hannari.woff') format('woff'),
			url('/contents/font/Hannari.ttf') format('truetype'),
			url('/contents/font/Hannari.svg#M+1cregular') format('svg');
}

* {
	margin: 0;
	padding: 0;
	font-style: normal;
	color: #333333;
	line-height:1.7;
	/* font-family: "ヒラギノ明朝 Pro W3","ＭＳ 明朝","ＭＳ Ｐ明朝","Times New Roman","MS Mincho", serif; */
	font-family: "ヒラギノUD丸ゴ Std W4","Hiragino UD Sans Rd Std W4","ヒラギノ丸ゴ Std W4","Hiragino Maru Gothic StdN W4","メイリオ","Meiryo",Osaka,"ＭＳ Ｐゴシック","MS PGothic";
}

html {
	overflow-y: scroll;
	background-image:url(../img/back.gif);
    background-repeat: repeat-x;
}
	
body { margin : auto; }

img { border : none; }
img.shadow {
	border: 1px solid #ccc;
	-moz-box-shadow: 1px 1px 5px #999;　/* Firefox用 */  
    -webkit-box-shadow: 1px 1px 5px #999;　/* Safari,Google Chrome用 */ 
}

.clear { clear : both; }

.float_left { float : left; }
.float_right { float : right; }
.float_leftimg {  
	float:left;
	padding: 0px 20px 0px 0px;
}

a { color: #0066cc; }
a:link { color: #0066cc; text-decoration: underline; }
a:visited { color: #0066cc; text-decoration: underline; }
a:hover { color: #150a57;  text-decoration: underline; }
a:active { color: #3d4a66; text-decoration: underline; } 


/* header
----------------------------------------------------------- */ 
#header {  
	border-top: 5px solid #8eaf8c;
	width: 800px;
	height : 80px;
	margin: 0px auto;
}
#header_right {  
    float:right;
	width: 300px;
	line-height : 2;
}
#welcome {  
	font-size:70%;
	float:right;
	background-color:#ddd;
	padding: 2px 5px 1px 5px;
	border-radius: 6px;  /*標準 */
    -webkit-border-radius: 6px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 6px;   /* Firefox用 */
}
#login {
	font-size : 70%;
	float : right;
	background-color : #7E9642;
	margin-top : 5px;
	padding : 2px 5px;
	border-radius: 6px;  /*標準 */
    -webkit-border-radius: 6px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 6px;   /* Firefox用 */
}
#login a { color : #FEFEFF; text-decoration : none; }
#login a:hover {
	color : #CCCCCC;
	text-decoration : underline;
}


/* main_img
----------------------------------------------------------- */ 
#main_img {  
	clear:both; 
	width: 800px;
	margin: 0px auto;
}


/* menu
----------------------------------------------------------- */ 
#menu {  
	clear:both; 
	width: 800px;
	margin: 0px auto;
}
	#menu a img {
		width : 160px;
		height : 60px;
	}


/* event
----------------------------------------------------------- */ 
#event {  
	clear:both; 
	width: 800px;
	margin: 0px auto;
}

#event img {
	margin : 0px 0px 15px 0px;
}

#event img.clear_event {
	margin : 0px;
}


/* contents
----------------------------------------------------------- */ 
#contents {  
    width: 800px;
	margin: 0px auto;
}
#contents_left {  
    width: 310px;
	float:left;
	margin: 20px 0px 20px 0px;
}
#contents_right {  
    width: 478px;
	float:right;
	margin: 20px 0px 20px 0px;
}


/* page_top 
----------------------------------------------------------- */ 

#page_top {  
	clear:both;
	font-size:80%;
	height:60px;
	text-align:right;
	margin: 10px 0px 0px 0px;
	background-image:url(../img/footer_back.gif);
}	

#page_top_in { /* ページ内の間に入れる用 */
	clear:both;
	font-size:80%;
	height:60px;
	text-align:right;
	margin: 30px 0px 0px 0px;
}	


/* footer 
----------------------------------------------------------- */ 

#footer_menu {  
	clear:both;
	width: 780px;
	margin: 0px auto;
	padding: 5px 10px 5px 10px;
	background-color: #d2dfd1;
	font-size : 12px;
}
#footer_menu:after {
	content : "";
	clear : both;
	display : block
}	

#footer {  
	clear:both;
	background-color: #7ba176;
}	
#footer_in {  
	width: 790px;
	margin: 0px auto;
	text-align:right;
	padding: 5px 10px 5px 0px;
	font-size:75%;
	background-color: #5a8953;
	color:#FFFFFF;
}

#footer_menu ul {
	clear : both;
	list-style-type : none;
	list-style-position : inside;
}
#footer_menu ul li {
	float : left;
	margin-left : 30px;
}
#footer_menu ul li.clearfix { margin-left : 5px; }
#footer_menu a {
	padding-left : 20px;
	background-image : url('../img/allow.jpg');
	background-repeat : no-repeat;
	background-position : left;
	color : #333333;
	text-decoration : none;
}
#footer_menu a:hover {
	background-image : url('../img/allow_on.jpg');
	color : #8CAB8B;
	text-decoration : underline;
}



/* topページ用 
----------------------------------------------------------- */ 

/* 更新情報 */
#whats_title { 
    width: 298px;
	height:19px;
	line-height:19px;
	background-color: #c6d7c5;
	padding: 2px 5px 2px 5px;
	border-top: 1px solid #8eaf8c;
	border-left: 1px solid #8eaf8c;
	border-right: 1px solid #8eaf8c;
	font-size:100%;
}	
dl.whats { 
    clear:both;
    width: 310px;
	font-size:90%;
}	
dl.whats dt { 
    width: 90px;
	float:left;
	padding: 3px 10px 3px 10px;
	border-top: 1px solid #8eaf8c;
}
dl.whats dd { 
    width: 200px;
	float:left;
	padding: 3px 0px 3px 0px;
	border-top: 1px solid #8eaf8c;
}


/* secondページ用 
----------------------------------------------------------- */ 

/* パンくず */
#bread {
    clear: both; 
	font-size:80%;
    margin: 0px 0px 0px 0px;
}


/* 各ページTOP画像 */
h1 {  
	clear:both; 
	width: 800px;
	height:130px;
	margin: 0px auto;
    position: relative;
	z-index: 1;
}
#on {  
    position: absolute;
	/*background-image:url(/contents/img/headeron_aut.png);/* 季節毎に画像を変更する*/
    background-repeat: no-repeat;
	top: -20px;
    left: -52px;
	z-index: 2;
	width: 430px;
	height:160px;
}
* html #on {  
	display: none;
}


h2 {
    border-bottom: 2px solid #8eaf8c;
	margin: 30px 0px 10px 0px;
	padding: 0px 0px 0px 100px;
	font-size:140%;
}
h2.catch { color : #3e6e40; }

h3 { /* text内にて使用する */
	font-size:120%;
    margin: 0px 0px 10px 0px;
	padding: 5px 0px 0px 0px;
}
h3.catch { color : #003366; }


h4 { /* text内にて使用する */
	font-size:100%;
    border-left: 5px solid #8eaf8c;
	margin: 0px 0px 10px 0px;
	padding: 5px 0px 0px 10px;
}


.text {
    clear:both;
	font-size:100%;
	width: 600px;
    margin: 0px 0px 0px 0px;
	padding: 0px 0px 0px 100px;
}
.text p {
    margin: 0px 0px 10px 0px;
	padding: 0px 0px 0px 0px;
}
.text .right {
    text-align:right;
    margin: 0px 0px 10px 0px;
}
.resetpadding {
	padding : 0px;
}




/* ▼装飾いろいろ */
.bold { font-weight : bold; }
.red { color : #CC0000; }
.mini { font-size : 85%; }
.font120 { font-size : 120%; }


/* ▼リストいろいろ */
.text ul {
    margin: 15px 0px 15px 0px;
    list-style-position: inside;
	list-style-type: disc;
	text-indent: -1em;
    padding-left: 1em;
}
	.text ul li { padding: 0px 0px 5px 0px; }


/* margin各種
----------------------------------------------------------- */ 
.margin60 { margin : 60px 0px 0px 0px; }
.margin30 { margin : 30px 0px 0px 0px; }
.margin15 { margin : 15px 0px 0px 0px; }
.margin-60 { margin : 0px 0px 60px 0px; }
.margin-30 { margin : 0px 0px 30px 0px; }

		
/* banner風
----------------------------------------------------------- */ 

.baner01 { /* 白＋緑ボーダー */
    font-weight:bold;
	background-color: #ffffff;
	padding: 8px 10px 8px 10px;
	border: 2px solid #8eaf8c;
	border-radius: 6px;  /*標準 */
    -webkit-border-radius: 6px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 6px;   /* Firefox用 */
}
.baner02 { /* 黄＋灰ボーダー */
	font-weight:bold;
	background-color:#FFFFdd;
	padding: 8px 10px 8px 10px;
	border: 2px solid #ccc;
	border-radius: 6px;  /*標準 */
    -webkit-border-radius: 6px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 6px;   /* Firefox用 */
}

.baner03 { /* 白＋灰ボーダー  ページ内リンク用*/
	background-color:#fff;
	padding: 3px 0px 3px 0px;
	margin: 0px 10px 0px 0px;
	border: 2px solid #999;
	border-radius: 6px;  /*標準 */
    -webkit-border-radius: 6px;    /* Safari,Google Chrome用 */
    -moz-border-radius: 6px;   /* Firefox用 */
	font-size:85%;
	width:150px;
	text-align:center;
	float:left;
}


/* kakomi
----------------------------------------------------------- */ 

.kakomi01 { /* 灰 */
	background-color: #eee;
	margin: 10px 0px 10px 0px;
	padding: 8px 10px 8px 10px;
}
.kakomi02 { /* 緑 */
	background-color: #d2dfd1;
	margin: 10px 0px 10px 0px;
	padding: 8px 10px 8px 10px;
}
.kakomi03 { /* 黄 */
	background-color: #FFFFdd;
	margin: 10px 0px 10px 0px;
	padding: 8px 10px 8px 10px;
}
.kakomi04 { /* 灰 */
	background-color: #eee;
	margin: 10px 0px 10px 0px;
	padding: 8px 10px 8px 10px;
}	
.kakomi05 { /* 灰 ページ内リンク用 */
	margin: 10px 0px 10px 0px;
	padding: 15px 10px 15px 10px;
	height:40px;
	background: -moz-linear-gradient(top, #ddd, #fff);　/* Firefox用 */  
    background: -webkit-gradient(linear, left top, left bottom, from(#ddd), to(#fff));　/* Safari,Google Chrome用 */ 
}

.assets1 {
	width : 300px;
	height : auto;
	margin : 0px auto;
	text-align : center;
}
.assets1 img {
	width : 300px;
	height : 150px;
}
.assets1:hover { /* オンマウスでグレイに */
	background-color:#eee;
}


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

/* ▼ 書籍案内 各ページにて使用） */
.table_normal {
    border-spacing: 0px;
	width:100%;
}
.table_normal td {
	padding: 20px 30px 10px 10px;
	vertical-align: top;
	font-size:90%;
}

.table_normal td.img {
    width:120px;
}
.table_normal td.img img {
	border: 1px solid #ccc;
 	-moz-box-shadow: 1px 1px 5px #999;　/* Firefox用 */  
    -webkit-box-shadow: 1px 1px 5px #999;　/* Safari,Google Chrome用 */ 
}

.table_normal td.tit {
    white-space: nowrap;
}
.table_normal td.border {
    border-top: 2px solid #ccc;
	padding: 20px 10px 10px 10px;
}
.table_normal td.border_d {
    border-top: 2px dotted #ccc;
	padding: 20px 10px 10px 10px;
}

.table_normal h3 {
	font-size:130%;
    margin: 0px 0px 10px 0px;
	padding: 0px 0px 0px 0px;
   }


.table_normal .book_title {
	color:#3e6e40;
    font-size:110%;
	border-bottom: 2px solid #3e6e40;
	margin: 0px 0px 0px 0px;
	padding: 40px 0px 0px 0px;
	font-weight:bold;
}

.table_normal ul {
    margin: 0px 0px 15px 0px;
    list-style-position: inside;
	list-style-type: disc;
	text-indent: -1em;
    padding-left: 1em;
	font-size:110%;
}
.table_normal ul li {
    padding: 0px 0px 0px 0px;
	color:#555;
}
ul.child-list {
	margin : 0px;
	list-style-position : inside;
	list-style-type : square;
	font-size : 90%;
}
ul.child-list li {
    padding: 0px 0px 0px 0px;
	color:#444499;
}
ul.advance {
	list-style-type : decimal;
}


/* フォーム用 */
.table01 { 
    width:100%;
    border-collapse: separate;
	border-spacing: 0px 15px; 
	}
.table01 td {
	padding: 10px 10px 10px 10px;
	vertical-align: top;
	}
.table01 td.tit {
    white-space: nowrap;
	font-weight:bold;
	border-left: 3px solid #d2dfd1;
	}
.table01 td.butten {
    background-color: #d2dfd1;
	}


/* 会社概要 */
.table02 {
    width:100%;
    border-collapse: separate;
	border-spacing: 0px 15px; 
}
.table02 td {
	padding: 5px 10px 10px 10px;
	vertical-align: top;
}
.table02 td.tit {
    white-space: nowrap;
	font-weight:bold;
	border-right: 3px solid #d2dfd1;
}

.table03 {
    width:100%;
    border-spacing: 0px;
	border-left: 2px solid #8eaf8c;
	border-top: 2px solid #8eaf8c;
}
.table03 th {
	padding: 5px 10px 5px 10px;
	background-color: #8eaf8c;
	color:#FFFFFF;
}
.table03 td {
	padding: 10px 10px 10px 10px;
	vertical-align: top;
	border-right: 2px solid #8eaf8c;
	border-bottom: 2px solid #8eaf8c;
}
.table03 .title1 {
    text-align:center;
	background-color: #d2dfd1;
	vertical-align: middle;
	font-weight: bold;
}
.table03 .title2 {
    text-align:center;
	background-color: #ffffdd;
	vertical-align: middle;
	font-weight: bold;
}

.catch_copy {
	margin : 20px;
	font-family : 'Hannari';
	font-size : 120%;
	line-height : 40px;
	color : #00529F;
}
	.catch_copy span {
		font-family : 'Hannari';
		font-size : 150%;
		line-height : 80px;
		color : #00529F;
	}

/* ▼ 書籍案内 index.htmlで使用 */
.table_books {
    width:100%;
    border-spacing: 0px;
	}
.table_books td {
	padding: 0px 0px 0px 0px;
	vertical-align: top;
	text-align:center;
	}
.table_books td.title {
	padding: 0px 0px 10px 0px;
}


.table_chart {
    width:100%;
	margin: 0px 0px 30px 0px;
    border-spacing: 0px;
	border-left: 2px solid #fff;
	border-top: 2px solid #fff;
	}

.table_chart th {
	padding: 5px 10px 5px 10px;
	background-color: #ffe4b5;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	}
.table_chart td {
	padding: 5px 5px 5px 5px;
	vertical-align: top;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	background-color: #eee;
	}

.table_chart td.title {
	background-color: #faebd7;
	}
.table_chart td.check {
	background-color: #ccc;
}


.table_school {
    width:100%;
    border-spacing: 0px;
	font-size:85%;
	border-top: 1px dotted #ccc;
	border-left: 2px solid #ccc;
	}
.table_school td {
	padding: 15px 5px 5px 5px;
	vertical-align: top;
	text-align:left;
	width:20%;
	border-bottom: 1px dotted #ccc;
	border-right: 2px solid #ccc;
	line-height:1.2;
	}
.table_school td.border {
	border-bottom: 4px solid #ccc;
}


/* ▼ 書籍案内 index.htmlで使用（全書籍一覧） */

.table_normal2 {
    width:100%;
    border-spacing: 0px;
	font-size:85%;
	border-top: 2px solid #ccc;
	border-left: 1px dotted #ccc;
	}
.table_normal2 th {
	padding: 10px 5px 5px 5px;
	border-bottom: 2px solid #ccc;
	border-right: 1px dotted #ccc;
	line-height:1.2;
	white-space: nowrap;
	}
.table_normal2 td {
	padding: 10px 5px 5px 5px;
	vertical-align: middle;
	border-bottom: 2px solid #ccc;
	border-right: 1px dotted #ccc;
	line-height:1.2;
	}

.table_normal2 td.center {
	text-align:center;
}


dl.whats2 { 
    clear:both;
	width: 600px;
	}	
dl.whats2 dt { 
    width: 120px;
	float:left;
	padding: 3px 10px 3px 10px;
	border-top: 1px solid #8eaf8c;
	}
dl.whats2 dd { 
    width: 460px;
	float:left;
	padding: 3px 0px 3px 0px;
	border-top: 1px solid #8eaf8c;
	}


/* ▼ 書籍案内 */

#books_left {
    float:left;
	width: 140px;
    margin: 20px 0px 0px 0px;
	padding: 20px 10px 20px 10px;
	background-color:#eee;
	}
#books_left ol {
    list-style-position: inside;
	list-style-type: none;
	font-size:85%;
	}
#books_left ol li {
	padding: 5px 0px 5px 0px;
	 border-bottom: 1px dotted #999;
	}

#books_left p {
    font-size:85%;
    padding: 20px 0px 0px 0px;
}


#books_right {
    float:right;
	width: 590px;
    margin: 20px 0px 0px 50px;
	padding: 0px 0px 0px 0px;
}

#books_right h2 {  
    border-bottom: 2px solid #8eaf8c;
	margin: 0px 0px 10px 0px;
	padding: 0px 0px 0px 0px;
	font-size:120%;
}
span.book_name {
	line-height : 0px;
font-size : 50px;
}

/* ▼ 書籍案内＆検定教科書 */
.font1 {
    color:#cc6600;
}
.font2 {
    color:#339999;
}
.font3 {
    color:#ff0000;
}


/* サイトマップ
/*----------------------------------------*/
ul.sub_category {
	list-style-type : none;
	list-style-position : inside;
	text-indent : 1em;
}
	ul.sub_category li {
		margin : 0px 0px 3px 0px;
		padding : 0px;
		font-size : 85%;
	}


/* 検定教科書
/*----------------------------------------*/
.table_textbook {
	width : inherit;
	height : auto;
	margin : 5px auto 40px;
	padding : 0px;
	border-bottom : 2px solid #8EAF8C;
}
	.table_textbook * {
		margin : 0px;
		padding : 10px 0px;
		vertical-align : middle;
	}
	.table_textbook td.border { border-bottom : 1px dotted #8EAF8C; }
	.table_textbook td.img { width : 30%; text-align : center; }
	.table_textbook td.spec { width : 70%; }
	.table_textbook td.h3 {
		padding : 0px;
		text-align : center;
		border : 1px solid #8EAF8C;
		background-color: #D2DFD1;
	}
	.table_textbook td ul {
		margin : 0px 0px 10px;
		padding : 0px;
		list-style-position : inside;
		list-style-type : square;
		text-indent : 1em;
	}
		.table_textbook td ul li {
			margin : 0px;
			padding : 0px;
		}

img.cover {
	width : 120px;
	height : auto;
	border : none;
}

/* ギャラリー用サムネイル
/*----------------------------------------*/
img.thumnail {
	width : auto;
	height : 95px;
	margin-right : 5px;
	padding : 0px;
	border : 2px solid #999999;
	opacity : 0.7;
}
img.last { margin-right : 0px; }