@charset "UTF-8";
/*
Copyright (c) 2009, Yahoo! Inc. All rights reserved.
Code licensed under the BSD License:
http://developer.yahoo.net/yui/license.txt
version: 3.0.0
build: 1549
*/
body,div,dl,dt,dd,ul,ol,li,h1,h2,h3,h4,h5,h6,pre,code,form,fieldset,legend,input,textarea,p,blockquote,th,td{margin:0;padding:0;}
table{border-collapse:collapse;border-spacing:0;}
fieldset,img{border:0;}
address,caption,cite,code,dfn,em,strong,th,var{font-style:normal;font-weight:normal;}
li{list-style:none;}
caption,th{text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}
q:before,q:after{content:'';}
abbr,acronym{border:0;font-variant:normal;}
sup{vertical-align:text-top;}
sub{vertical-align:text-bottom;}
input,textarea,select{font-family:inherit;font-size:inherit;font-weight:inherit;}
legend{color:#000;}


/* -- Generic -- */

body {
	width: 100%;
	height: 100%;
	background: #f7f7f3;
	color: #333;
	font: 93%/1.5em Verdana,"メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Arial, Helvetica, sans-serif;
	display: table;
	}

h1 {
	font-size: 123.1%;
	color: #000;
	font-weight:bold
	}

h2 {
	font-size: 108%;
	color: #000;
	font-weight:bold
	}
	
h3 {
	font-size: 100%;
	color: #000;
	font-weight:bold
	}

h4 {
	font-size: 100%;
	color: #4c3e14;
	font-weight: normal;
	line-height:1.5em;
	}

.clear {
	clear:both;
	}

a, a:visited {
	color: #7b0045;
	text-decoration: underline;
	}

a:hover {
	text-decoration: none;
	background-color: #eed4e3;
	}

strong {
	font-weight: bold;
	}

em {
	font-style:italic;
	}

ol li {
	margin:0 0 0 3em;
	padding: 0 0 0.5em 0;
	list-style: decimal;
	text-align: left;
	}

ul li {
	margin:0 0 0 3em;
	padding: 0 0 0.5em 0;
	list-style:disc;
	text-align: left;
	}

ol ul, ul ul {
	margin: 1em 0 0 1em;
	}

div .dotline {
	height: 1px;
	width: 100%;
	background: url(../img/dotline.gif) repeat-x;
	margin: 0 0 5px 0;
	clear: both;
	}

.c {
	text-align: center;
	}

.red {
	color:#a90c24;
	}

.dark {
	font-weight: bold;
	}


/* -- Header -- */

#header {
	height: 105px;
	width: 960px;
	margin: 0 auto;
	position: relative;
	background: #fff;
	border-top: 10px solid #900;
	}

#description {
	position: absolute;
	width: 630px;
	text-align: left;
	left: 290px;
	top: 25px;
	overflow: hidden;
	}
	
#description p {
	color: #999;
	font-weight: normal;
	font-size: 0.81em;
	line-height: 1.3em;
	}

/* -- Content -- */

#wrap {
	width: 960px;
	margin: 0 auto;
	padding: 0 0 1em 0;
	border-top: 1px dotted #900;
	border-bottom: 4px solid #fff;
	position: relative;
	background: #fff url(../img/bg_menu.gif) repeat-y left top;
	}

/* -- Category List 2-- */

#wrap #cat2, #wrap #col3{
	float:right;
	width:660px;
	margin: 0;
	padding: 0 25px 0 0;
	}

#wrap #cat2 h1, #wrap #col3 h1{
	margin: 20px 0 10px 0;
	padding: 0 0 0.5em 0;
	text-align: center;
	font-size: 1.2em;
	border-bottom: 1px dotted #48462c;
	}
	
#wrap #cat2 .intro {
	margin: 0 0 1em 0;
	padding: 0.5em;
	font-size:0.9em;
	line-height: 1.3em;
	}	

#wrap #cat2 .intro img{
	float: left;
	margin: 0 8px 8px 20px;
	}	

#wrap #cat2 p.iconnotes {
	clear: both;
	margin: 0 0 1em 0;
	padding: 0;
	font-size:0.9em;
	line-height: 1.3em;
	text-align: right;
	}	

#wrap #cat2 p.iconnotes img{
	vertical-align: text-bottom;
	}	

#wrap #cat2 ul {
	margin: 0;
	padding: 10px 0;
	font-size: 12px;
	list-style-type: none;
	line-height: 1.2em;
	}

#wrap #cat2 li {
	float: left;
	display: inline;
	list-style: none;
	height: 176px;
	width: 125px;
	margin: 0 0 0 6px;
	padding: 0;
	text-align: center;
	}

#wrap #cat2 li.ad{background:url(../img/icon_sound.gif) no-repeat;}
#wrap #cat2 li.eb{background:url(../img/icon_ebook.gif) no-repeat;}
#wrap #cat2 li.eb2{background:url(../img/icon_ebook2.gif) no-repeat;}
#wrap #cat2 li.eb3{background:url(../img/icon_ebook3.gif) no-repeat;}
#wrap #cat2 li.ae{background:url(../img/icon_sound_ebook.gif) no-repeat;}
#wrap #cat2 li.aes{background:url(../img/icon_sound_ebook_sony.gif) no-repeat;}
#wrap #cat2 li.aesp{background:url(../img/icon_sound_ebook_sony_polyglots.png) no-repeat;}
#wrap #cat2 li.ap{background:url(../img/icon_sound_polyglots.png) no-repeat;}
#wrap #cat2 li.as{background:url(../img/icon_sound_sony.gif) no-repeat;}
#wrap #cat2 li.es{background:url(../img/icon_ebook_sony.gif) no-repeat;}
#wrap #cat2 li.esp{background:url(../img/icon_ebook_sony_polyglots.png) no-repeat;}
#wrap #cat2 li.sony{background:url(../img/icon_sony.gif) no-repeat;}

#wrap #cat2 li img{
	margin: 0 0 2px 0;
	}

#wrap #cat2 li a {
	text-decoration: none;
	color: #333;
	}
	
#wrap #cat2 li a:hover {
	color: #7b0045;
	background-color: transparent;
	}

/* -- col3 (シリーズトップ) -- */

#wrap #col3 p {
	margin: 1em 0 0 0;
	padding: 0;
	font-size: 0.93em;
	font-weight: normal;
	line-height: 1.4em;
	}

#wrap #col3 h2 {
	margin: 2em 0 0 0;
	padding: 0;
	font-size: 	1.1em;
	font-weight: bold;
	line-height: 1.4em;
	}

#wrap #col3 ul,#wrap #col3 ol {
	margin: 1em 0 0 2em;
	font-size: 0.93em;
	line-height: 1.4em;
	}

#wrap #col3 ul ul,#wrap #col3 ol ol,#wrap #col3 ol ul,#wrap #col3 ul ol {
	margin: 1em 0 0;
	}
	
#wrap #col3 ol li,#wrap #col3 ul li {
	margin:0 0 0 3em;
	padding: 0 0 1em 0;
	}

#wrap #col3 img.fl {
	float: left;
	margin: 0 10px 10px 0;
	}

/* -- col3 (新刊) -- */

#wrap #col3 .newbook {
	width: 660px;
	margin: 8px 0;
	padding: 8px 0;
	border-bottom: 1px dotted #cbcbcb;
	}

#wrap #col3 .newbook .nbkc1 {
	float: left;
	width: 140px;
	text-align: center;
	}

#wrap #col3 .newbook .nbkc2 {
	float: left;
	width: 400px;
	}

#wrap #col3 .newbook .nbkc3 {
	float: right;
	width: 100px;
	}

#wrap #col3 .newbook p {
	margin: 1em 0;
	padding: 0;
	font-size: 0.93em;
	font-weight: normal;
	line-height: 1.4em;
	}

#wrap #col3 .newbook h2 {
	margin: 0;
	padding: 0;
	font-size: 0.95em;
	font-weight: bold;
	line-height: 1.4em;
	}

#wrap #col3 .newbook ul.more {
	margin: 0;
	padding: 0;
	overflow: hidden;
	}

#wrap #col3 .newbook ul.more li {
	list-style:none;
	margin: 0;
	padding: 0;
	height: 25px;
	width: 90px;
	text-indent: -100em;
	display: block;
	}

#wrap #col3 .newbook ul.more li a {
	text-decoration: none;
	display: block;
	height: 25px;
	}

#wrap #col3 .newbook ul.more a:hover {
	text-decoration: none;
	background-color: transparent;
	}
	
#wrap #col3 .newbook ul.more li.special {
	left: 0;
	background: url(../img/btn_more.gif) no-repeat 0 0;
	}

#wrap #col3 .newbook ul.more li.moreinfo {
	left: 0;
	background: url(../img/btn_more.gif) no-repeat -90px 0;
	}

#wrap #col3 .newbook ul.more li.special:hover {
	background: url(../img/btn_more.gif) no-repeat 0 -25px;
	}
	
#wrap #col3 .newbook ul.more li.moreinfo:hover {
	background: url(../img/btn_more.gif) no-repeat -90px -25px;
	}

/* -- col3 (サポートお知らせ) -- */
#wrap #col3 .support {
	width: 660px;
	margin: 8px 0;
	padding: 8px 0;
	border-bottom: 1px dotted #cbcbcb;
	}

#wrap #col3 .support .sptc1 {
	float: left;
	width: 140px;
	text-align: center;
	}

#wrap #col3 .support .sptc2 {
	float: right;
	width: 500px;
	}

#wrap #col3 .support p {
	margin: 1em 0;
	padding: 0;
	font-size: 0.93em;
	font-weight: normal;
	line-height: 1.4em;
	}

#wrap #col3 .sptsh {
	color: #000;
	}

#wrap #col3 .support p.note {
	color: #666;
	font-size: 0.87em;
	text-align: right;
	}
/* -- Nav -- */
p.nav {
	width: 100%;
	margin: 0;
	padding: 0.5em 0 0 20px;
	color: #000;
	font-size: 0.85em;
	}
	
p.nav a {
	color: #900;
	text-decoration: underline;
	}

p.nav a:hover {
	text-decoration: none;
	}

/* -- Nav_prev_next -- */

#wrap #cat2 ul.nav2,#wrap #col3 ul.nav2 {
	margin: 0 auto;
	padding: 0;
	top: 12px;
	right: 41px;
	height: 25px;
	width: 232px;
	overflow: hidden;
	position: absolute;
	list-style: none;
	}

#wrap #cat2 ul.nav2 a,#wrap #col3 ul.nav2 a {
	text-decoration: none;
	display: block;
	height: 25px;
	}
	
#wrap #cat2 ul.nav2 li,#wrap #col3 ul.nav2 li {
	margin: 0;
	padding: 0;
	height: 25px;
	width: 116px;
	text-indent: -100em;
	display: block;
	overflow: hidden;
	position: absolute;
	}

#wrap #cat2 ul.nav2 li#prev,#wrap #col3 ul.nav2 li#prev {
	left: 0;
	background: url(../img/btn_cpn.gif) no-repeat 0 0;
	}

#wrap #cat2 ul.nav2 li#next,#wrap #col3 ul.nav2 li#next {
	left: 116px;
	background: url(../img/btn_cpn.gif) no-repeat -116px 0;
	}

#wrap #cat2 ul.nav2 a:hover,#wrap #col3 ul.nav2 a:hover {
	text-decoration: none;
	background-color: transparent;
	}

#wrap #cat2 ul.nav2 #prev:hover,#wrap #col3 ul.nav2 #prev:hover {
	background: url(../img/btn_cpn.gif) no-repeat 0 -25px;
	}
	
#wrap #cat2 ul.nav2 #next:hover,#wrap #col3 ul.nav2 #next:hover {
	background: url(../img/btn_cpn.gif) no-repeat -116px -25px;
	}
	

/* -- Category List 1-- */

#wrap #cat1 {
	width: 250px;
	float: left;
	margin: 0;
	padding: 0;
	background: transparent;
	color: #15000c;
	}

#wrap #cat1 form {
	margin: 0;
	padding: 0 0 8px 15px;
	font-size: .87em;
	line-height: 2em;
	}

#wrap #cat1 h4, #wrap #cat1 p.ch4 {
	margin: 0;
	padding: 0.5em 15px;
	text-align: left;
	font-size: .93em;
	font-weight: normal;
	color: #15000c;
	border-top: 2px solid #fff;
	background: url(../img/dot4.gif) no-repeat left top;
	}
	
#wrap #cat1 p.ch4 {
	background-image: none;
	}
	
#wrap #cat1 h4.current {
	background: #fff url(../img/dot5.gif) no-repeat left top;
	color: #590032;
	}
	
#wrap #cat1 ul {
	margin: 0;
	padding: 0 0 1em 15px;
	font-size: .93em;
	}

#wrap #cat1 ul ul{
	margin: 0;
	padding: 0 0 0.5em 0;
	border: none;
	}

#wrap #cat1 li {
	list-style: none;
	margin: 0;
	padding: 0 0 0 15px;
	line-height: 1.6em;
	background:url(../img/bullet.png) no-repeat 3px 0.5em;
	}

#wrap #cat1 li li{
	list-style: none;
	margin: 0;
	padding: 0 0 0 15px;
	line-height: 1.6em;
	background:url(../img/bullet.png) no-repeat 3px 0.5em;
	}
	
#wrap #cat1 li.open {
	background:url(../img/bullet.png) no-repeat 3px 0.5em;
	}

#wrap #cat1 li.unfold {
	background:url(../img/bullet.png) no-repeat 3px 0.5em;
	background-color:#fff;
	}

#wrap #cat1 li.current {
	background-color: #fff;
	color: #590032;
	}

#wrap #cat1 a{
	color: #590032;
	text-decoration: none;
	display: block;
	}

#wrap #cat1 a:hover {
	color: #7b0045;
}

#wrap #cat1 p.btn {
	margin: 32px 0 0;
	padding: 0 0 0 15px;
	}

#wrap #cat1 p.btn2 {
	margin: 0;
	padding: 0 0 0 15px;
	}

#wrap #cat1 p.btn a:hover,#wrap #cat1 p.btn2 a:hover{
	background-color: transparent;
	}

/* -- Footer -- */

#footer {
	width: 960px;
	margin: 0 auto;
	padding: 0;
	position: relative;
	background-color: #eaeade;
	border-bottom: 10px solid #900;
	color: #666;
	}

#footer img.gototop {
	position: absolute;
	top: 0px;
	right: 0px;
	}

#footer img.slogo {
	position: absolute;
	top: 29px;
	left: 16px;
	}

#footer a {
	text-decoration: none;
	color: #666;
	}
		
#footer a:hover {
	background-color: transparent;
	color: #000;
	}

#footer li {
	list-style: none;
	margin:0 2em 0;
	padding: 0.5em 0;
	border-bottom: 1px solid #cbcbcb;
	line-height: 1em;
	font-size: .95em;
	}
		
#footer li a {
	display: block;
	}
	
#footer .gototop a:hover {
	background-color:transparent;
	}
	
#footer p{
	margin: 0.5em 0;
	padding: 0;
	font-size: .95em;
	line-height: 1.3em;	
	}

#footer p.ibchome{
	padding-left: 1.5em;
	}
	
#footer .col11 {
	float: left;
	width: 300px;
	margin: 0 0 0 20px;
	padding: 25px 0;
	text-align: left;
	}

#footer .col12 {
	float: left;
	width: 300px;
	margin: 0 0 0 20px;
	padding: 25px 0;
	text-align: left;
	}

#footer .col13 {
	float: right;
	width: 300px;
	margin: 0;
	padding: 25px 0;
	text-align: left;
	}

#footer p.copyright {
	margin: 0;
	padding: 1em 0;
	font-size: 0.87em;
	line-height: 1.4em;
	text-align: center;
	color: #666;
	}


#social {
	margin: 0;
	padding: 20px 0 0;
	width: 300px;
	overflow: hidden;
	background: transparent;
	}

#social p {
	margin: 0 0 0 30px;
	padding: 0;
	}

.bn {
	padding: 20px 10px 20px 100px;
}

.bn2 {
	padding: 20px 30px 20px 10px;
}


/* 続きを読むボタン */

.grad-wrap {
  position: relative;
}
.grad-wrap + .grad-wrap {
  margin-top: 40px;
}
.grad-btn {
  z-index: 2;
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100px;
  margin: auto;
  padding: .1em 0;
  border-radius: 2px;
  background: #182329;
  color: #fff;
  font-size: 0.8rem;
  text-align: center;
  cursor: pointer;
  transition: .2s ease;
  box-shadow: 0 0 3px rgba(0,0,0,.3);
}
.grad-btn::after {
  content: "続きを読む"
}
.grad-btn:hover {
  background: #fff;
  color: #009e8f;
}
.grad-btn .fa {
  margin-right: .5em;
}
.grad-item {
  position: relative;
  overflow: hidden;
  height: 130px;
}
.grad-item p + p {
  margin-top: 1em;
}
.grad-item::before {
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 40px; /*グラデーションで隠す範囲*/
  background: -webkit-linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
  background: linear-gradient(top, rgba(255,255,255,0) 0%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0.9) 50%, #fff 100%);
}
.grad-trigger {
  display: none;
}
.grad-trigger:checked ~ .grad-btn {
  bottom: -2em;
}
.grad-trigger:checked ~ .grad-btn::after {
  content: "閉じる"
}
.grad-trigger:checked ~ .grad-btn .fa {
  transform: rotate(180deg);
}
.grad-trigger:checked ~ .grad-item {
  height: auto;
}
.grad-trigger:checked ~ .grad-item::before {
  display: none;
}

.mb-1{
  margin-bottom: 10px;
}

.mb-2{
  margin-bottom: 20px;
}

.mb-3{
  margin-bottom: 30px;
}