@charset "UTF-8";

/* 目次
---------------------------------------------------------------------------
#1 基本レイアウト
#2 header内のレイアウト
#3 contents内のレイアウト
#4 footer内のレイアウト
---------------------------------------------------------------------------
*/


/* #1 基本レイアウト
===========================================================================

+-------------------------------------+
| #upper                              |
|                                     |
| +---------------------------------+ |
| | #header (.container)            | |
| +---------------------------------+ |
|                                     |
| +---------------------------------+ |
| | #contents (.container/clearfix) | |
| +---------------------------------+ |
+-------------------------------------+

+-------------------------------------+
| #lower                              |
| +---------------------------------+ |
| | #footer (.container)            | |
| | +------------------+ +--------+ | |
| | | #copyright       | | #menu  | | |
| | +------------------+ +--------+ | |
| +---------------------------------+ |
+-------------------------------------+

*/


/* 縦方向：lowerを画面下部に貼り付かせる。
---------------------------------------------------------------------------
*/

html, body, div#upper { height: 100%; }

body > div#upper {
	height: auto;
	min-height: 100%;
}

div#contents {
	padding-bottom: 75px; /* フッターの高さ */
}

div#lower {
	position: relative;
	height: 75px; /* フッターの高さ */
	margin-top: -75px; /* フッターの高さ（-） */
	clear: both;
}


/* 横方向
---------------------------------------------------------------------------
*/

div#upper, div#lower {
	clear: both;
	width: 100%;
	text-align: left;
}

.container {
	clear: both;
	width: 920px; /* レイアウトの横幅 */
	margin: 0em auto;
	text-align: left;
}


/* 背景画像
---------------------------------------------------------------------------
*/

div#upper { background: #e5e5e5 url(/_include/bg_upper.gif) repeat-x; }
div#lower { background: #c2c2c2 url(/_include/bg_lower.gif) repeat-x; }



/* #2 header内のレイアウト
===========================================================================
*/

div#header {
	position: relative;
	height: 160px; /*ヘッダーの高さ*/
}


/* タイトルロゴ
---------------------------------------------------------------------------
*/

div#header h1 {
	position: absolute;
	top: 77px;
	left: 0px;
}

div#header h1 a { text-decoration: none; }

/* メインメニュー
---------------------------------------------------------------------------
*/

ul.menu {
	list-style-type: none;
	margin: 0;
	padding: 0;
}
ul.menu li {
	display: block;
	float: left;
	position: relative;
	margin: 0;
	padding: 0;
}

ul.submenu {
	list-style-type: none;
	clear: both;
	position: absolute;
	top: -999px;
	left: 0px;
}
ul.submenu li { float: none; }


ul#mainMenu {
	position: absolute;
	top: 94px;
	right: 0px;
}

ul#mainMenu li {
/*	width: 80px;*/
	margin-left: 15px;
	margin-top: 2px;
	border-top: 1px solid #000;
}

ul#mainMenu li.current {
	border-top: 3px solid #000;
	margin-top: 0px;
}

ul#mainMenu li:hover ul.submenu, ul#mainMenu li.JShover ul.submenu {
	top: 25px; /* メインメニューのliの高さと一致 */
	z-index: 99;
}

ul#mainMenu li ul.submenu li {
	position: static; /* for IE AlphaImageLoader bug */
	width: auto;
	margin-left: 0px;
	border-top: 0px none;
}

ul#mainMenu li ul.submenu li a {
	display: block;
	height: 20px;
	margin-bottom: 5px;
}



/* 言語切替部分
---------------------------------------------------------------------------
*/

div#language {
	clear: both;
	height: 30px;
	position: absolute;
	top: 0px;
	left: 0px;
}

/* カート部分
---------------------------------------------------------------------------
*/

div#cart {
	clear: both;
	height: 23px;
	position: absolute;
	top: 18px;
	right: 0px;
}



/* #3 contents内のレイアウト
===========================================================================
*/

div#contents .inner {
	margin: 52px 0px;
}


/* 見出し */

html[lang=en] h2 { letter-spacing: 1px; }

div.heading h2 {
	height: 1.5em; line-height: 1.5em; /* 27px */
	margin: 15px 0px 40px;
	padding-left: 9px;
	border-left: 1px solid #fff;
	font-size: 1.46em; /* 19px */
}

div.heading h3 {
	height: 1.5em; line-height: 1.5em; /* 21px */
	padding-left: 9px;
	border-left: 1px solid #fff;
	font-size: 1.08em; /* 14px */
}

div.heading, div.imgHeading { margin: 15px 0px 40px; }


div.section {
	clear: all;
	margin: 30px 0px;
	padding-top: 30px;
	border-top: 1px solid #ccc;
}


/* PageBute */

div.pagebute {
	float: right;
	height: 24px;
	margin: 0px 0px 60px;
	padding-top: 3px;
	border-right: 1px solid #fff;
	border-left: 1px solid #fff;
	font-size: 11px;
	text-align: center;
}

.link_before, .link_next {
	display: block;
	float: left;
	width: 40px;
	height: 20px;
	text-indent: -9999em;
	outline: none;
}

.link_before {
	margin-right: 30px;
	margin-left: 10px;
}
.link_next {
	margin-right: 10px;
	margin-left: 30px;
}

.link_before { background: url(/all/_img/parts/en/prev_p.gif) no-repeat 0px -1px; }
.link_next { background: url(/all/_img/parts/en/next_p.gif) no-repeat 0px -1px; }
html[lang=ja] .link_before { background: url(/all/_img/parts/ja/prev_p.gif) no-repeat 0px -1px; }
html[lang=ja] .link_next { background: url(/all/_img/parts/ja/next_p.gif) no-repeat 0px -1px; }

div.pageLink { float: left; }
span.current_page { color: #808080; }
a.link_page { color: #000 !important; }

div.pageSpacer {
	float: right;
	width: 166px;
	height: 27px;
	margin-bottom: 60px;
}

/* 書籍一覧
---------------------------------------------------------------------------
*/


table.bookListItem {
	width: 230px;
//	height: 305px;
	float: left;
	margin-bottom: 70px;
}

html[lang=ja] table.bookListItem td { font-size: 0.92em; }

table.bookListItem td.icon {
	height: 20px;
	padding-left: 25px;
	line-height: 0px;
	vertical-align: top;
}

table.bookListItem td.thumb {
	height: 205px;
	text-align: center;
	vertical-align: bottom;
}
table.bookListItem td.thumb img {
	background-color: #e5e5e5;
	max-width: 230px;
	
/* http://blog.livedoor.jp/eeu/archives/55319734.html */
	behavior: expression((function(el){
			el.style.width = el.clientWidth > 230 ? '230px' : 'auto';
			el.runtimeStyle.behavior = 'none';
		})(this));

	height: auto;
}

table.bookListItem td.title {
//	height: 60px;
	padding-top: 19px;
	padding-bottom: 10px;
	text-align: center;
	vertical-align: top;
}

table.bookListItem td.price {
//	height: 40px;
	text-align: center;
	vertical-align: top;
}


div.inner div.bookList div.imgHeading {
	float: left;
	width: 600px;
	height: 27px;
	margin: 0px 0px 60px;
}


/* News
---------------------------------------------------------------------------
*/

div#news {
	float: left;
	width: 525px;
	min-height: 200px;
	margin-bottom: 40px;
	padding: 20px 25px 0px;
	background: url(/top/news_bg.gif) repeat-x;
}

div#news h2 { display: inline; }

div#news p { margin-bottom: 18px; }

ol.news {
	clear: both;
	list-style-type: none;
	margin-bottom: 45px;
	padding: 0px;
	font-size: 0.92em;
	line-height: 1.5;
}

ol.news li {
	margin-bottom: 7px;
	text-align: justify;
}

ol.news a {
	color: #000;
	text-decoration: none;
}
ol.news a:hover { text-decoration: underline; }
ol.news a img { vertical-align: bottom;  }


/* 過去のNews */

div#newsArc h2 { display: inline; } 
div#newsArc div.imgHeading {
	float: left;
	width: 250px;
	margin-top: 0px;
}
div#newsArc div.pagebute {
	float: left;
	margin-top: 15px;
}

div#newsArc ol.news {
	float: right;
	clear: none;
	width: 665px;
	margin-top: 50px;
	font-size: 1em;
}

div#newsArc ol.news li { margin-bottom: 20px; }


/* News詳細 */

div#newsDetail h2 { display: inline; } 
div#newsDetail div.imgHeading {
	float: left;
	margin-top: 0px;
}

div#newsDetail div.body {
	float: right;
	width: 700px;
	margin-bottom: 60px;
}

div#newsDetail div.body img {
	float: right;
	margin-left: 20px;
	margin-bottom: 20px;
}

div#newsDetail div.body p {
	padding-right: 10px;
	padding-left: 10px;
}

div#newsDetail div.title {
	margin-bottom: 40px;
	padding-bottom: 6px;
	border-bottom: 1px solid #fff;
}


/* ご購入案内
---------------------------------------------------------------------------
*/

div#shopping {
	float: right;
	width: 285px;
	margin-bottom: 58px;
}

div#shopping h2, div#shopping dt {
	margin: 0px;
	padding: 0px;
	border: none;
	line-height: 0px;
	font-weight: bold;
}
div#shopping h2 { height: 30px; }
div#shopping h2 img { margin-top: -20px }

html[lang='en'] div#shopping dt {
	margin: 0px;
	padding: 20px 13px 10px;
}

div#shopping dl {
	margin: 0px;
/*	border-bottom: 1px solid #c0c0c0; */
}

html[lang=ja] div#shopping dl { font-size: 0.92em; }

div#shopping dt {
	display: none;
}

div#shopping dd {
/*	padding: 0px 13px 15px; */
	padding: 13px;
	text-align: justify;
}

div#shopping dd a {
	text-decoration: none;
	color: #000;
}
html[lang=ja] div#shopping dd a {
	display: block;
	padding-bottom: 1em;
	background: url(/top/ja/detail.gif) no-repeat right bottom;
}
html[lang=en] div#shopping dd a { text-decoration: underline; }

div#shopping dd ul li { margin-left: 1.2em; }



/* 書籍詳細
---------------------------------------------------------------------------
*/

div.detail {
	width: 440px;
	float: left;
}

div.detail p {
	padding-left: 10px;
	text-align: justify;
}

div.detail fieldset { text-align: right; }

html[lang=ja] p.data { font-size: 0.92em; }


div.cover {
	width: 440px;
	float: right;
	text-align: center;
}

img.sample {
	background-color: #e5e5e5;
	margin-bottom: 20px;
}

div#inner2 { height: 580px; }

div#inner2 div.heading {
	float: left;
	width: 750px;
}
div#inner2 div.heading h3 img {
	margin-left: 15px;
	vertical-align: bottom;
}


/* サンプルページ */

div#nav {
	float: right;
	width: 150px;
	height: 20px;
	margin: 16px 0px 38px;
	text-align: center;
	background: url(/all/_img/parts/pages_bg.gif) no-repeat 0px 2px;
}
div#nav a img { vertical-align: middle; }

div#pages {
	display: inline;
	padding: 0px 4px;
}
div#pages a {
	padding: 0px 3px;
	font-family: 'Helvetica Neue',Helvetica,sans-serif;
	font-size: 11px;
	text-decoration: none;
	color: black;
}
div#pages a.activeSlide {
	color: white;
	background-color: #666;
	cursor: default;
}

div#images {
	clear: both;
	height: 500px; overflow: hidden;
	text-align: center;
}
div#images img {
	display: block;
	margin: 0px auto;
}



/* ご購入案内、コンタクト、サイトポリシー
---------------------------------------------------------------------------
*/

div#webpage div.heading, div#webpage div.imgHeading {
	float: left;
	margin-top: 0px;
}

div#webpage div.heading h2 { display: inline; }

div#webpage div.body {
	float: right;
	width: 665px;
	margin-top: 5px
}

div#webpage h3 {
	padding-left: 1em;
	margin-bottom: 1.43em;
	font-size: 1.08em; /* 14px */
	background: url(/_img/arrow.gif) no-repeat 0 3px;
}

div#webpage h3.border {
	padding-top: 18px;
	border-top: 1px solid #fff;
	background: url(/_img/arrow.gif) no-repeat 0 21px;
}

div#webpage table {
	border-top: 1px solid #fff;
	margin-bottom: 3.08em;
}

div#webpage td, div#webpage th { border-bottom: 1px solid #fff; }
div#webpage td {
	padding: 5px 7px;
	font-size: 0.92em;
	vertical-align: top;
}
div#webpage th {
	padding: 0px 5px;
	background-color: #fff;
}


div#webpage td a { text-decoration: none; }
div#webpage td a:hover { text-decoration: underline; }

div#webpage .zip, div#webpage .tel { white-space: nowrap }

div#webpage dt {
	margin-left: 3px;
	margin-bottom: 0.5em;
	padding-left: 10px;
	border-left: 1px solid #c0c0c0;
}
div#webpage dd {
	margin-left: 3px;
	margin-bottom: 1.54em;
	padding-left: 10px;
}


div#webpage p.parallel {
	float: left;
	width: 300px;
	height: 16em;
	padding-left: 1em;
	padding-right: 1em;
	border-left: 1px solid #fff;
}

/* 書店様へ
---------------------------------------------------------------------------
*/

div#webpage div.box {
	width: 155px;
	margin-top: 20px;
	padding: 1em;
	border: 1px solid #fff;
}

div#webpage div.box h3 {
	border: none;
	margin-bottom: 0.5em;
}

div#webpage div.box p { text-align: justify; }


div#webpage ul.pdf {
	list-style-type: none;
	margin-left: 10px;
}

div#webpage ul.pdf li {
	margin-bottom: 1em;
	background: url(/bookstores/_img/pdf.gif) no-repeat;
}

div#webpage ul.pdf li a {
	padding-left: 20px;
	text-decoration: none;
}

div#webpage ul.pdf li a:hover { text-decoration: underline; }




/* #4 footer内のレイアウト
===========================================================================
*/

div#footer { position: relative; }


div#copyright {
	position: absolute;
	top: 15px;
	left: 0px;
}

ul#footerMenu {
	float: right;
	position: absolute;
	top: 15px;
	right: 0px;
	border-right: 1px solid #9b9b9b;
}

ul#footerMenu li {
	height: 15px;
	border-left: 1px solid #9b9b9b;
}

