@charset "UTF-8";


/*初期化
-----------------------------------------------------------------------------------*/
*,
*::before,
*::after {
	margin: 0;
	padding: 0;
	box-sizing:border-box;
	outline: none;
	line-height: 1;
	/* transition: .3s; */
	font-weight: 300;
	font-style: normal;
	/* font-size: 1rem; */
	text-align: justify;
	color: inherit;
	text-decoration: none;
	-webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

html {
	scroll-behavior: smooth;
}

body {
	min-height: 100vh;
	overflow-x: hidden;
}

q:before,q:after{content:'';}
abbr,acronym {
	border:0;
	font-variant:normal;
	}
sup {vertical-align:text-top;}
sub {vertical-align:text-bottom;}

input,textarea,select{font-size:100%;}
legend{color:#000;}


/* 回り込み解除 */
.clearfix:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden;
}
.clearfix {
	display: inline-table;
	min-height:1%;  /* for IE 7*/
}
/* Hides from IE-mac \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* End hide from IE-mac */


/* 画像 */
img {
	max-width:100%;
	height:auto;
	width:auto;
	vertical-align:middle;
	border:none;
	background:transparent;
}

/* リンク */
a{
	text-decoration:none;
	cursor: pointer;
}
a:hover, a:hover img, button:hover {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
	/* opacity: 0.8;
	filter:alpha(opacity=90);
	-ms-filter: "alpha( opacity=90 )"; */
}
a:hover img {
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}


/*フォーム*/
select {
	border:1px solid #666;
	padding:10px;
	max-width:100%;
	line-height:1;
}
input[type=text],
input[type=email],
input[type=number],
input[type=tel],
input[type=password]
{
	border:1px solid #464646;
	padding:10px;
	max-width:100%;
	line-height:1;
}
textarea
{
	border:1px solid #464646;
	padding:10px;
	max-width:100%;
	line-height:1.5;
}
button {
	background-color: inherit;
	border: 0;
	color: #666;
}
button img {
	vertical-align:middle;
}

/* その他タグ初期化 */
body {
	min-width: 100%;
	max-width: 100%;
	width: 100%;
	min-height: 100vh;
	overflow-x: hidden;
}

li { list-style:none; }

table{
	border-collapse:collapse;
	border-spacing:0;
	width:100%;
}

main {
	display:block;
}
