*{
	margin: 0;
	padding: 0;
}
html{ font-size: 62.5%; }
body {
	background: #FFF;
	text-align: left;
	line-height: 2;
	font-family: Helvetica,Arial,’Hiragino Kaku Gothic Pro’,'ヒラギノ角ゴ Pro W3','Droid Sans',sans-serif;
	font-weight: 400;
	font-size: 1.6rem;
	font-feature-settings : "palt";
	color: #000;
	user-select:none;
	-webkit-user-select: none;
	-webkit-touch-callout:none;
	margin: 0;
}
a{ color: #50cbcb; }
img{
	display: block;
	margin: auto;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
}
p, main h3, main h4, table{ margin: 30px 0; }
table{
	width: 100%;
	border-collapse: collapse;
}
th, td{
	border: 1px solid #d3d3d3;
	line-height: 1.6;
	font-size: 1.4rem;
}
th{ background: #f7f8f8; }
ul, ol{ padding-left: 20px; }

@media (min-width: 641px){
	a:hover{ text-decoration: none; }
	a:hover img{
		opacity: .7;
		-webkit-transition: .3s;
		transition: .3s;
	}
	th, td{ padding: 15px; }
	.inner{
		margin: auto;
		width: 730px;
	}
}
@media (max-width: 640px){
	th, td{ padding: 10px; }
	.inner{ padding: 0 15px; }
}

/* ------------------------------------------------
 header
------------------------------------------------ */
#logo{
	font-weight: normal;
	font-size: .875em;
}
#logo a{
	display: block;
	padding: 5px 0;
	width: 107.25px;
	height: 30px;
	background: url(../images/logo.png) 0 5px no-repeat;
	background-size: contain;
	text-indent: 200%;
	white-space: nowrap;
	overflow: hidden;
}

/* ------------------------------------------------
 main
------------------------------------------------ */
h1, h2, h3, h4{ font-weight: bold; }
main h1, main h2{
	line-height: 1.4;
}
main h2{
	margin: 40px 0;
	padding: 10px 0;
	border-top: 3px solid #5e5e5e;
	border-bottom: 3px solid #5e5e5e;
}
main h3{
	padding: 2px 0 5px 15px;
	border-bottom: 1px solid #aaa;
	border-left: 5px solid #aaa;
}
main h4{ border-bottom: 2px dotted #aaa; }
@media (min-width: 641px){
	main{ padding-bottom: 100px; }
	main h1{
		margin: 20px 0 50px;
		font-size: 3rem;
	}
	main h2{ font-size: 2.4rem; }
	main h3, main h4{ font-size: 2rem; }
}
@media (max-width: 640px){
	main{ padding-bottom: 50px; }
	main h1{
		margin: 20px 0 50px;
		font-size: 2.4rem;
	}
	main h2{ font-size: 2rem; }
	main h3{ font-size: 1.8rem; }
	main h4{ font-size: 1.6rem; }
}

/* ------------------------------------------------
 footer
------------------------------------------------ */
footer{
	padding: 20px 0;
	background: #d3d3d3;
	text-align: center;
	line-height: 1.6;
	font-size: 1.2rem;
	color: #fff;
}
footer a{ color: #fff; }

/* ------------------------------------------------
 styles
------------------------------------------------ */
.box, .box_ylw, .box_merit, .box_demerit{
	margin: 30px 0;
	box-shadow: 1px 1px 0 #fff inset, -1px -1px 0 #fff inset;
}
.box{
	background: #f7f8f8;
	border: 1px solid #d3d3d3;
}
.box_ylw, .box_merit{
	background: #fdfbe8;
	border: 1px solid #f5e881;
}
.box_demerit{
	background: #eaf8f9;
	border: 1px solid #d1eff2;
}
ul.merit, ul.demerit{
	padding-left: 0;
	list-style: none;
}
ul.merit li, ul.demerit li{
	position: relative;
	padding-left: 30px;
}
ul.merit li:before, ul.demerit li:before{
	position: absolute;
	left: 0;
	line-height: 1;
	font-size: 4rem;
}
ul.merit li:before{
	content: "○";
	top: -8px;
	color: #e6534c;
}
ul.demerit li:before{
	content: "×";
	top: -5px;
	color: #0dafcb;
}
.marker{
	background: -webkit-linear-gradient(transparent 60%, #FFd700 60%);
	background: linear-gradient(transparent 60%, #FFd700 60%);
	font-weight: 700;
}
@media (min-width: 641px){
	.box, .box_ylw{ padding: 1px 40px; }
	.box_merit, .box_demerit{ padding: 20px 40px; }
}
@media (max-width: 640px){
	.box, .box_ylw{ padding: 1px 20px; }
	.box_merit, .box_demerit{ padding: 20px; }
}