div.subtitle {
	font-size: 1.5em;
	font-weight: bold;
}

ul.puzzle_menu li {
	float: left;
	list-style: none;
	width: 190px;
	height: 230px;
	margin: 10px;
	padding: 5px;
}

ul.hitofude_menu li {
	float: left;
	list-style: none;
	width: 300px;
	height: 380px;
	margin: 10px;
	padding: 5px;
}

ul.sudoku_menu li {
	float: left;
	list-style: none;
	width: 320px;
	height: 400px;
	margin: 10px;
	padding: 5px;
}

ul.hitofude_menu li .middle_board,
ul.hitofude_menu li .mini_board,
ul.hitofude_menu li .micro_board
{
	margin: 5px 0;
}

ul.hitofude_menu li p {
	clear: both;
	padding-top: 5px;
}


ul.puzzle_menu li .puzzle_title {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: 18px;
	width: 100%;
}

.cell {
	float: left;
	border: 1px solid black;
	text-align: center;
	font-family: 'ＭＳ ゴシック', HiraKakuProN-W3, monospace;
}

.label {
	float: left;
	border: none;
	text-align: center;
	font-family: 'ＭＳ ゴシック', HiraKakuProN-W3, monospace;
}

.middle_board .cell {
	width: 40px;
	height: 40px;
	font-size: 30px;
	box-sizing: border-box;
}

.middle_board .label {
	width: 40px;
	height: 40px;
	font-size: 30px;
}

.mini_board .cell {
	width: 30px;
	height: 30px;
	font-size: 25px;
	box-sizing: border-box;
}

.mini_board .cell.small {
	width: 30px;
	height: 30px;
	font-size: 25px;
	box-sizing: border-box;
}

.mini_board .cell.narrow {
	width: 25px;
	height: 25px;
	font-size: 22px;
	box-sizing: border-box;
}

.mini_board .label {
	width: 30px;
	height: 30px;
	font-size: 25px;
}

.mini_board .label span.title {
	position: relative;
	height: 15px;
	top: 10px;
	font-size: 15px;
}

.micro_board .cell {
	width: 20px;
	height: 20px;
	font-size: 15px;
	box-sizing: border-box;
}

.rock {
	background-color: black;
}

.turnleft {
	background-color: aqua;
}

.turnright {
	background-color: mistyrose;
}

.mini_board .pmaze.cell {
	width: 30px;
	height: 30px;
	border-style: none;
	font-size: 23px;
}

.pmaze.cell.cross {
	width: 5px;
	height:5px;
	background-color: black;
}

.pmaze.cell.v {
	width: 5px;
	height:30px;
	background-color: black;
}

.pmaze.cell.v.nowall, .pmaze.cell.h.nowall {
	background-color: transparent;
}

.pmaze.cell.h {
	width: 30px;
	height:5px;
	background-color: black;
}

.mini_board .half {
	float: left;
	width: 15px;
	height: 30px;
	border-style: none;
}

.micro_board .half {
	float: left;
	width: 9px;
	height: 18px;
	border-style: none;
}

.micro_board .label {
	float: left;
	width: 18px;
	height: 18px;
	font-size: 15px;
	border-style: none;
}

.sudoku .even, .joint .even, .renga .even {
	background-color: lightgray;
}

.sudoku .cell {
	width: 18px;
	height: 18px;
	border: 1px solid gray;
	font-size: 15px;
}

.sudoku .cell.t {
	border-top: 2px solid black;
}

.sudoku .cell.b {
	border-bottom: 2px solid black;
}

.sudoku .cell.l {
	border-left: 2px solid black;
}

.sudoku .cell.r {
	border-right: 2px solid black;
}

.joint .cell {
	width: 14px;
	height: 15px;
	border: 1px solid gray;
	font-size: 13px;
}

.joint .hjoint {
	float:left;
	width:5px;
	height:16px;
	border-style: none;
	text-align: center;
}

.joint .vjoint {
	float:left;
	width:16px;
	height:5px;
	border-style: none;
	text-align: center;
}

.joint .dummy {
	float:left;
	width:5px;
	height:5px;
	border-style: none;
	text-align: center;
}

.joint .h {
	position: relative;
	width: 5px;
	height: 2px;
	top: 7px;
	left: 0px;
	background-color: black;
}

.joint .v {
	position: relative;
	width: 2px;
	height: 5px;
	top: 0px;
	left: 7px;
	background-color: black;
}

.renga .cell {
	width: 18px;
	height: 18px;
	border: 1px solid black;
	font-size: 15px;
}

.renga .cell.s {
	border-color: black;
}
.renga .cell.l {
	border-color: black #ccc black black;
}
.renga .cell.c {
	border-color: black #ccc;
}
.renga .cell.r {
	border-color: black black black #ccc;
}

.heyawake .cell {
	width: 20px;
	height: 20px;
	font-size: 15px;
	border: 1px solid lightgray;
	box-sizing: border-box;
}
.heyawake .cell.top    { border-top: 1px solid indigo; }
.heyawake .cell.bottom { border-bottom: 1px solid indigo; }
.heyawake .cell.right  { border-right: 1px solid indigo; }
.heyawake .cell.left   { border-left: 1px solid indigo; }
.heyawake .cell.boardtop    { border-top: 2px solid indigo; }
.heyawake .cell.boardbottom { border-bottom: 2px solid indigo; }
.heyawake .cell.boardright  { border-right: 2px solid indigo; }
.heyawake .cell.boardleft   { border-left: 2px solid indigo; }

.heyawake .dummy {
	width: 20px;
	height: 20px;
	border-width: 0px;
	box-sizing: border-box;
}

.shikaku .cell {
	width: 28px;
	height: 28px;
	font-size: 25px;
	border: 1px solid lightgray;
}
.shikaku .cell.top    { border-top: 1px solid black; }
.shikaku .cell.bottom { border-bottom: 1px solid black; }
.shikaku .cell.right  { border-right: 1px solid black; }
.shikaku .cell.left   { border-left: 1px solid black; }

.lightup .cell.wall { background-color: black; color: white; }
