html,body,div,span,object,iframe,h1,h2,h3,h4,h5,h6,p,a,blockquote,pre,abbr,address,cite,code,del,dfn,em,img,ins,kbd,q,samp,small,strong,var,b,i,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary,time,mark,audio,video {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	background: transparent;
	vertical-align: baseline;
	font-size: 100%;
}

/************************************************
Base Setting
************************************************/
html {
	font-size: 87.5%;
}
body {
	font-family: -apple-system, BlinkMacSystemFont, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN', Meiryo, sans-serif;
	line-height: 1.8;
	color: #333;
	-webkit-text-size-adjust: 100%;
}
main {
	display: block;
	box-sizing: border-box;
}
ul {
	list-style: none;
}
a {
	color: #333;
	text-decoration: underline;
	-webkit-tap-highlight-color: transparent;
	-webkit-touch-callout: none;
}
a:hover {
	text-decoration: none;
}
img {
	max-width: 100%;
	vertical-align: top;
}
table {
	border-collapse: collapse;
	border-spacing: 0
}
hr {
	display: block;
	margin: 1em 0;
	padding: 0;
	height: 1px;
	border: 0;
	border-top:1px solid #ccc;
}
input, button, textarea, select {
	outline: 0;
	font: inherit;
}
input, button, select {
	box-sizing: border-box;
	vertical-align: middle;
}
input[type="submit"], input[type="image"], button, select, label {
	cursor: pointer;
}
*::before,
*::after {
	box-sizing: border-box;
}
@media screen and (max-width: 640px) {
	body {
		overflow-x: hidden;
	}
	a:hover {
		text-decoration: underline;
	}
}

/*---------------
clearfix
------------------*/
.clearfix {
	zoom: 1;
}

.clearfix:before, .clearfix:after {
	display: table;
	content: "";
}

.clearfix:after {
	clear: both;
}