@charset "UTF-8";

/* ****************************************************************** 

	--common.css--
	
	0. BoxModel change

	1. Common setting
		1-1. Reset styles
		1-2. Base styles
		1-3. General styles

	2. Responsive setting
		2-1. Tablet grid styles
		2-2. Mobile grid styles

****************************************************************** */

/*==================================================================
	0. BoxModel change
===================================================================*/
* {
	-webkit-box-sizing:border-box;
	-moz-box-sizing:border-box;
	box-sizing:border-box;
}


/*==================================================================
	1. Common setting
===================================================================*/

/* ------------------------------------------------------------------
	1-1. Reset styles
-------------------------------------------------------------------*/
html {
	overflow-x:hidden;
	background:#FFF;
}
body {
	overflow-x:hidden;
	-webkit-text-size-adjust:none;
	-ms-text-size-adjust:none;
	word-wrap:break-word;
}
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, object, iframe, pre, code, p, blockquote, form, fieldset, legend, table, th, td, caption, tbody, tfoot, thead, article, aside, figure, footer, header, hgroup, menu, nav, section, audio, video, canvas {
	margin:0;
	padding:0;
}
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, menu { display:block; }
audio:not([controls]) {
	display:none;
	height:0;
}
[hidden] { display:none; }
table {
	border-collapse:collapse;
	border-spacing:0;
}
fieldset, img { border:none; }
address, caption, cite, code, dfn, em, strong, th, var {
	font-style:normal;
	font-weight:normal;
}
ul, ol, menu { 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:none;
	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; }
a img, map a { border:none; }
a:hover, a:active, a:focus { outline:0; }
embed { width:100%; }
audio, canvas, video { display:inline-block; }
audio:not([controls]) {
	display:none;
	height:0;
}
img, object, embed {
	max-width:100%;
	height:auto;
}
object, embed { height:100%; }
img {
	-ms-interpolation-mode:bicubic;
}

/* Base styles
-------------------------------------------------------------------*/
body { font:18px/2.2 'Lato', 'Noto Sans JP', '游ゴシック Medium', '游ゴシック体', 'Yu Gothic Medium', YuGothic, 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
 }
select, input, button, textarea, button { font:99% arial, sans-serif; }
table {
	font-size:inherit;
	font:100%;
}
pre, code, kbd, samp, tt {
	font-family:monospace;
	line-height:1;
}

/* General styles
-------------------------------------------------------------------*/
table { empty-cells:show; }
input { line-height:1; }
form img, input, select { vertical-align:middle; }
textarea { resize:none; }
select { padding:1px; }
label { margin-right:5px; }
legend { display:none; }
input[type="text"], input[type="password"], textarea {
	padding:3px 4px 0 3px;
	border:1px solid #999;
	border-right:1px solid #CCC;
	border-bottom:1px solid #CCC;
	font-size:13px;
}


/* ------------------------------------------------------------------
	1-2. VisualFormattingModel styles
-------------------------------------------------------------------*/
.clearfix { zoom:1; }
.clearfix:after {
	display:block;
	clear:both;
	content:"";
}
a.hover:hover,
input.hover:hover {
	filter:alpha(opacity=70);
	-moz-opacity:0.7;
	-khtml-opacity: 0.7;
	opacity: 0.7;
}
strong, .bold { font-weight:bold; }
.italic { font-style:italic; }



/*==================================================================
	2 Responsive setting
===================================================================*/

/* ------------------------------------------------------------------
	2-1. Tablet grid styles
-------------------------------------------------------------------*/
@media only screen and (min-width:481px) and (max-width:768px) {
	body {
		width:100%;
		min-width:0;
		margin-left:0;
		margin-right:0;
		padding-left:0;
		padding-right:0;
	}
}


/* ------------------------------------------------------------------
	2-2. Mobile grid styles
-------------------------------------------------------------------*/
@media only screen and (max-width:480px) {
	body {
		width:100%;
		min-width:0;
		margin-left:0;
		margin-right:0;
		padding-left:0;
		padding-right:0;
	}
}