body{
	margin:0px;
	font-size:1.05rem;
	font-family:sans-serif;
}

img{
	max-width:100%;
	height:auto;
	display:block;
}

img.game {
	margin:2px auto;
}

img.list{
	width:75px;
	height:75px;
	float:left;
	margin-right:10px;
	margin-top:3px;
	border-radius:10px;
}

hr {
	height: 1px;
	border: 0 none; 
	color: #000033;
	background-color: #000033;
	margin-top:15px;
	margin-bottom:15px;
}

li {
	line-height:1.8rem;
	margin-top:5px;
}

blockquote{
	background-color:#eeeef0;
	padding:1.8em 1em 1em;
	margin:0.5em 1em;
	font-family: '凸版文久明朝 R', serif;
	line-height:1.8rem;
	position:relative;
}

blockquote:before{
	content:"“";
	font-size:500%;
	font-family: sans-serif;
	line-height:1em;
	color:#000033;
	position:absolute;
	left:0;
	top:0;
}

h1 {
	font-size:1.7rem;
	margin:45px 0px 7px 0px;
	padding:0px 15px 0px 15px;
	color:#000000;
	border-left: solid 5px #000033;
	border-right: solid 5px #000033;
}

h2 {
	font-size:1.55rem;
	margin-top:40px;
	margin-bottom:3px;
	color:#000000;
}

h3 {
	font-size:1.35rem;
	margin-top:35px;
	margin-bottom:3px;
}

h4 {
	font-size:1.2rem;
	margin-left:5px;
	margin-bottom:3px;
}

p {
	padding: 5px 7px;
	font-size: 1.08rem;
	line-height: 1.85rem;
	margin-top:5px;
}

p.text {
	line-height: 1.95rem;
	}

p.nov {
	font-family: '凸版文久明朝 R', serif;
	font-size: 1.21rem;
	line-height: 2.4rem;
	letter-spacing : 0.5px;
	}

p.kan {
	font-size: 1.21rem;
	line-height: 2rem;
	letter-spacing : 2px;
	}

p.kankuda {
	font-size: 1.15rem;
	line-height: 2rem;
	}

p.waka {
	font-family: '凸版文久明朝 R', serif;
	text-align:center;
	font-size: 1.16rem;
	line-height: 2.1rem;
}

div.hs_box {
	float:left;
	padding:0px 3px 10px;
	display: inline-block;
}

div.hs_ruby {
	font-size:50%;
	text-align:center;
}

div.hs_text {
	text-align:center;
	border-bottom:1px #FF4466 dotted;
	line-height:1.2em;
}

div.hs_type {
	color:#FF4466;
	font-size:75%;
	text-align:center;
	line-height:1.4em;
}

div.hs_exp {
	color:#444455;
	font-size:55%;
	text-align:center;
}

.genre_cl {
	padding: 7px 5px;
	font-size:0.95rem;
	background-color:#666666;
	color: #ffffff;
}

.genre_geo {
	padding: 7px 5px;
	font-size:0.95rem;
	background-color:#557755;
	color: #ffffff;
}

.genre_book {
	padding: 7px 5px;
	font-size:0.95rem;
	background-color:#885555;
	color: #ffffff;
}

.genre_column {
	padding: 7px 5px;
	font-size:0.95rem;
	background-color:#666666;
	color: #ffffff;
}

.genre_review {
	padding: 7px 5px;
	font-size:0.95rem;
	background-color:#555577;
	color: #ffffff;
}

.marker{
	background-color:#f0f555;
	padding:1px;
	font-weight: bold;
}

.date {
	text-align:right;
	font-size:0.9rem;
}

.mame{
	box-shadow: 1px 1px #666699;
	background-color:#eeeef2;
	padding:10px;
	border-radius: 7px;        /* CSS3草案 */  
	-webkit-border-radius: 7px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 7px;   /* Firefox用 */
}

.amazon{
	border:solid 1px #666699;
	border-radius: 7px;        /* CSS3草案 */  
	-webkit-border-radius: 7px;    /* Safari,Google Chrome用 */  
	-moz-border-radius: 7px;   /* Firefox用 */
	line-height:1.35rem;
	color:#666666;
	font-size:95%;
	margin:30px 0px;
	padding:10px;
	min-height:160px;
}

a:link {
	text-decoration:NONE;
	border-width:0px;
	border-bottom-width:1px;
	border-style:dotted;
	color:#009BCD;
}

a:visited {
	text-decoration:NONE;
	border-width:0px;
	border-bottom-width:1px;
	border-style:dotted;
	color:#009BCD;
}

a:active {
	text-decoration:NONE;
	border-width:0px;
	border-bottom-width:1px;
	border-style:dotted;
	color:#08C;
}
a:hover {
	text-decoration:NONE;
	border-width:0px;
	border-bottom-width:1px;
	border-style:SOLID;
	color:#08C;
}

img a {
	text-decoration: none;
}

div.content a{
	color:#ffffff;
	text-decoration:none;
}

div.content_end a{
	color:#ffffff;
	text-decoration:none;
}

table {
	width:100%;
	border-top:1px solid #000033;
}

table th, table td {
	padding: 3px 10px;
	border-bottom: 1px solid #000033;
	line-height:1.7rem;
}

table th {
	background-color:#eeeef2;
	text-align:center;
	padding:3px 15px;
}

table td {
	background-color:#ffffff;
}

td img {
	display:inline;
}

div.stars img {
	display:inline;
}


table.poem_box {
	border-top:none;
	border-collapse:collapse;
}

.poem_box td {
	border: medium none;
	text-align: center;
	width: auto;
	padding: 2px;
	table-layout: fixed;
	word-wrap: break-word;
}

.poem td {
	font-family: '凸版文久明朝 R', serif;
	font-size: 1.3em;
	line-height: 1.55em;
	background-color:#333355;
	color:#ffffff;
	border-left: 2px solid #ffffff;
	border-right: 2px solid #ffffff;
}

.poem_ruby td {
	font-family: '凸版文久明朝 R', serif;
	font-size: 0.8em;
	line-height: 0.8em;
}

.part td {
	font-size: 0.9em;
 	font-weight: bold;
	line-height: 0.9em;
	color: #F00;
}

.mean td {
	font-size: 0.8em;
	line-height: 0.95em;
	padding-bottom:20px;
}

.hyakunin_img {
	max-width:130px;
	height:auto;
}

.shutten {
	background-color:#220000;
	color:#ffffff;
	border-radius: 4px;
	font-size:75%;
	padding:3px;
	margin-right:4px;
}

.shiki {
	float:left;
	line-height:2.3rem;
}

.bunsu {
	float:left;
	margin:0px 3px;
}

.bunsu div {
	text-align:center;
	line-height:1.15rem;
}

.bunsu hr {
	margin:0;
	width:100%
}

/*全体*/
.hidden_box {
    margin: 0.8em 0;/*前後の余白*/
    padding: 0;
}

/*ボタン装飾*/
.hidden_box label {
    padding: 10px 15px;
    font-weight: bold;
    border: solid 2px black;
    background-color:#ffffff;
    cursor :pointer;
    border-radius: 4px;        /* CSS3草案 */ 
    -webkit-border-radius: 4px;    /* Safari,Google Chrome用 */ 
    -moz-border-radius: 4px;   /* Firefox用 */
}

/*ボタンホバー時*/
.hidden_box label:hover {
    background: #aaaacc;
}

/*チェックは見えなくする*/
.hidden_box input {
    display: none;
}

/*中身を非表示にしておく*/
.hidden_box .hidden_show {
    height: 0;
    padding: 0;
    overflow: hidden;
    opacity: 0;
    transition: 0.1s;
}

/*クリックで中身表示*/
.hidden_box input:checked ~ .hidden_show {
    padding: 10px 0;
    height: auto;
    opacity: 1;
}


/*===============================================
画面の横幅が901px以上（パソコン）
===============================================*/
@media (min-width: 901px) {

img{
	max-width:700px;
	margin:auto;
}

#title_box{
	width:100%;
	background-color:#000033;
	margin:0px;
	padding-top:10px;
}

#title{
	width:900px;
	margin-right:auto;
	margin-left:auto;
	padding-bottom:5px;
	text-align:center;
}

#sitemap{
	text-align:right;
	font-size:90%;
	margin:0px 10px;
	clear:both;
}

#menu{
	color:#eeeef2;
	width:100%;
	background-color:#000033;
	float:left;
}

#menu_box{
	width:900px;
	margin-right:auto;
	margin-left:auto;
	text-align:center;
	float:none;
}

div.content{
	width:149px;
	text-align:center;
	float:left;
	line-height:2rem;
	border-left:solid 1px #eeeeff;
	border-bottom:solid 1px #000033;
}

div.content_end{
	width:148px;
	text-align:center;
	float:left;
	line-height:2rem;
	border-left:solid 1px #eeeeff;
	border-right:solid 1px #eeeeff;
	border-bottom:solid 1px #000033;
}

div.content_select{
	width:149px;
	background-color:#eeeef2;
	color:#000000;
	text-align:center;
	float:left;
	line-height:2rem;
	border-bottom:solid 1px #eeeef2;
}

#navigator_box{
	width:100%;
	background-color:#eeeef2;
	border-bottom:solid 3px #000033;
	clear:both;
}

#navigator{
	width:900px;
	font-size:90%;
	padding:15px 0px 7px;
	margin-right:auto;
	margin-left:auto;
}

#container{
	width:860px;
	margin-right:auto;
	margin-left:auto;
	padding:20px 20px;
	clear:both;
}

#footer_box{
	width:100%;
	background-color:#000033;
	clear:both;
}

#footer{
	width:900px;
	margin-right:auto;
	margin-left:auto;
	padding:5px 0px;
	text-align:right;
	color:#eeeef2;
	font-size:80%;
	line-height:1rem;
	font-style:italic;
}

div.card_left{
	float:left;
}

div.card_right {
	clear:both;
}

#f_map{
	width:900px;
	margin:0px auto;
	padding:10px 0px;
	font-size:95%;
	clear:both;
	color:#333333;
}

#f_navigator_box{
	border-top:solid 3px #000033;
	background-color:#eeeef2;
	clear:both;
	padding:0px 5px;
}

.f_navigator_l {
	float:left;
	line-height: 1.8rem;
	font-size:1rem;
	text-align:right;
	margin:15px 12px;
	padding-right:16px;
	border-right:solid 10px #eeeef0;
	width:400px;
}

.f_navigator_r {
	float:left;
	line-height: 1.8rem;
	font-size:1rem;
	text-align:left;
	margin:15px 12px;
	padding-left:16px;
	border-left:solid 10px #eeeef0;
	width:400px;
}

#f_navigator{
	font-size:90%;
	width:900px;
	line-height:2.2rem;
	margin-right:auto;
	margin-left:auto;
}

.hyakunin_img {
	float:right;
	margin-left:20px;
	margin-bottom:10px;
}

}

/*===============================================
画面の横幅が641pxから900pxまで（タブレット）
===============================================*/
@media (max-width: 900px) and (min-width: 641px) {

img{
	max-width:600px;
	margin:auto;
}

#title_box{
	background-color:#000033;
	margin:0px;
	padding:10px 0px;
}

#title{
	text-align:center;
}

#sitemap{
	display: none;
	clear:both;
}

#menu{
	width:100%;
	color:#ffffff;
	background-color:#000033;
	float:left;
}

#menu_box{
	width:99%;
	margin-right:auto;
	margin-left:auto;
	text-align:center;
	float:none;
}

div.content{
	width:16.5%;
	text-align:center;
	float:left;
	line-height:2rem;
	border-left:solid 1px #eeeeff;
	border-bottom:solid 1px #000033;
}

div.content_end{
	width:16.5%;
	text-align:center;
	float:left;
	line-height:2rem;
	border-left:solid 1px #eeeeff;
	border-right:solid 1px #eeeeff;
	border-bottom:solid 1px #000033;
}

div.content_select{
	width:16.5%;
	background-color:#eeeef2;
	color:#000000;
	text-align:center;
	float:left;
	line-height:2rem;
	border-bottom:solid 1px #eeeef2;
}

#navigator_box{
	border-bottom:solid 3px #000033;
	background-color:#eeeef2;
	clear:both;
}

#navigator{
	font-size:90%;
	line-height:2.2rem;
	padding-left:20px;
	margin-right:auto;
	margin-left:auto;
}

#container{
	padding:10px 20px;
	clear:both;
}

#f_map{
	margin:0px auto;
	padding:5px 0px;
	font-size:95%;
	clear:both;
	color:#333333;
}

.f_navigator_l {
	float:left;
	line-height: 1.5rem;
	font-size:1.15rem;
	padding-bottom:20px;
	text-align:right;
	margin-right:5%;
	width:45%;
}

.f_navigator_r {
	float:left;
	line-height: 1.5rem;
	font-size:1.15rem;
	padding-bottom:20px;
	text-align:left;
	margin-left:5%;
	width:45%;
}

#f_navigator_box{
	border-top:solid 3px #000033;
	background-color:#eeeef2;
	clear:both;
	padding:10px 8px;
}

#f_navigator{
	line-height:2.2rem;
	padding:5px 10px ;
	margin-right:auto;
	margin-left:auto;
}

#footer_box{
	background-color:#000033;
	clear:both;
}

#footer{
	padding:5px 0px;
	text-align:right;
	color:#eeeef2;
	font-size:80%;
	line-height:1rem;
	font-style:italic;
}

span.shutten {
	background-color:#220000;
	color:#ffffff;
	border-radius: 4px;
	font-size:75%;
	padding:3px;
	margin-right:4px;
}

.hyakunin_img {
	float:right;
	margin-left:20px;
	margin-bottom:10px;
}

}

/*===============================================
画面の横幅が640pxまで（モバイル）
===============================================*/
@media (max-width:640px) {

#title_box{
	width:100%;
	background-color:#000033;
	margin:0px;
	padding:10px 0px;
}

#title{
	width:60%;
	margin-right:auto;
	margin-left:auto;
	text-align:center;
}

#sitemap{
	display: none;
}

#menu{
	display:none;
}

#menu_box{
	display:none;
}

div.content_select{
	display:none;
}

#navigator_box{
	display:none;
}

#navigator{
	font-size:90%;
	line-height:2.2rem;
	padding-left:10px;
}

#container{
	padding:10px 10px;
	clear:both;
}

div.content{
	width:32%;
	text-align:center;
	float:left;
	margin:0px 2px;
	font-size:85%;
	line-height:2rem;
	border-bottom:solid 1px #eeeef2;
}

div.content_end{
	width:32%;
	text-align:center;
	float:left;
	margin:0px 2px;
	font-size:85%;
	line-height:2rem;
	border-bottom:solid 1px #eeeef2;
}

div.content_select{
	width:32%;
	background-color:#eeeef2;
	color:#000000;
	text-align:center;
	float:left;
	margin:0px 2px;
	font-size:85%;
	line-height:2rem;
	border-bottom:solid 1px #eeeef2;
}

#f_map{
	margin:0px auto;
	padding:5px 0px;
	font-size:95%;
	clear:both;
	color:#333333;
}

.f_navigator_l {
	line-height: 1.4rem;
	font-size:1.15rem;
	float:left;
	padding-bottom:20px;
	margin-right:2% ;
	width:48%;
	font-size:90%;
}


.f_navigator_r {
	line-height: 1.4rem;
	font-size:1.15rem;
	float:left;
	padding-bottom:20px;
	text-align:right;
	margin-left:2%;
	width:48%;
	font-size:90%;
}

#f_navigator_box{
	border-top:solid 3px #000033;
	background-color:#eeeef2;
	clear:both;
	padding:5px 3px;
}

#f_navigator{
	line-height:2rem;
	padding:5px 8px;
	margin-right:auto;
	margin-left:auto;
}

#footer_box{
	background-color:#000033;
	clear:both;
}

#footer{
	padding:5px 0px;
	text-align:right;
	color:#eeeef2;
	font-size:70%;
	line-height:1rem;
	font-style:italic;
}

span.shutten {
	background-color:#220000;
	color:#ffffff;
	border-radius: 4px;
	font-size:75%;
	padding:3px;
	margin-right:4px;
}

.hyakunin_img {
	margin:3px auto;
}

}

/*===============================================
レスポンシブ対応終り
===============================================*/

div.content a:link{
	display:block;
	border-style:none;
}

div.content_end a:link{
	display:block;
	border-style:none;
}

div.content_select a:link{
	display:block;
	border-style:none;
	color:#000000;
}

div.content a:hover{
	display:block;
	width:100%;
	background-color:#555566;
}

div.content_end a:hover{
	display:block;
	width:100%;
	background-color:#555566;
}