/*--------------------------------------------レスポンシブ時のメインメニューに対するスタイル(全ページ共通)--------------------------------------------*/
@charset "UTF-8";
.visibility {
	display: block !important;
}
.contactdata {
	display: none;
}
.resp {
	display: none !important;
}
/*ハンバーガーメニュー*/
.button {
	width: 30px;
	height: 60px;
	position: absolute;
	cursor: pointer;
	float: right;
	display: none;
	right: 15px;
	top: 0px;
}
.bar1 {
	width: 30px;
	height: 2px;
	background-color: #000000;
	position: absolute;
	top: 19px;
}
.bar2 {
	width: 30px;
	height: 2px;
	background-color: #000000;
	position: absolute;
	top: 27px;
}
.bar3 {
	width: 30px;
	height: 2px;
	background-color: #000000;
	position: absolute;
	top: 35px;
}
.bar1, .bar2, .bar3 {
	transition: all 0.5s ease-out;
	-o-transition: all 0.5s ease-out; /* opera */
	-moz-transition: all 0.5s ease-out; /* firefox */
	-webkit-transition: all 0.5s ease-out; /* chrome, safari */
	-ms-transition: all 0.5s ease-out; /* ie */
}
.buttonclick1 {
	top: 30px;
	-moz-transform: rotate(405deg);
	-webkit-transform: rotate(405deg);
	-o-transform: rotate(405deg);
	-ms-transform: rotate(405deg);
	transform: rotate(405deg);
}
.buttonclick2 {
	opacity: 0;
}
.buttonclick3 {
	top: 30px;
	-moz-transform: rotate(-405deg);
	-webkit-transform: rotate(-405deg);
	-o-transform: rotate(-405deg);
	-ms-transform: rotate(-405deg);
	transform: rotate(-405deg);
}

@media (max-width:599px) {
	.visibility {
	display: block !important;
}
.wrap {
	overflow: hidden;
	width: 100vw;
}
.mask {
	width: 45vw;
	height: 100vh;
	background-color: #000000;
	opacity: 0;
	position: fixed;
	z-index: -10;

}
.grey {
	opacity: 0.6;
	z-index: 6;

}
.resp {
	display: block !important;
}
img.resp {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.logo {
	width: 100%;
	max-width: 140px;
	background-color: hsla(0,0%,0%,0.70);
	float: left;
	height: auto;
}
.link {
	display: none;
}
.headlink {
	max-width: 170px;
	z-index: 5;
	margin-left: 20px;
}
.menu_icon {
	display: none;
}
.menu_icon img.resp {
	display: block;
}
.button_wrap {
	width: 60px;
	height: 60px;
	background-color: #FFFFFF;
	position: fixed;
	top: 0px;
	right: 0px;
	z-index: 10;
}
.button {
	display: block;
}
.top_img img {
	width: 100%;
	height: 415px;
	max-width: 600px;
}
.menu_icon {
	display: none;
	margin-top: 0px;
	width: 55vw;
	height: 110vh;
	background-color: hsla(0,0%,100%,0.89);
	padding-top: 55px;
	position: fixed;
	top: 0px;
	right: 0px;
	z-index: 7;
}
.menu_icon div {
	margin-bottom: 7px;
	width: 215px;
	height: 55px;
	margin-left: 5px;
	padding-top: 0px;
	float: none;
}
.menu_icon div img {
	float: left;
	margin-top: 5px;
	margin-right: 10px;
	margin-left: 5px;
}
.menu_icon div p.en {
	text-align: left;
	font-weight: bold;
	letter-spacing: 0.1em;
	display: inline-block;
	margin-top: -52px;
	position: absolute;
	left: 70px;
	margin-left: -9px;
}
.menu_icon div p.ja {
	text-align: left;
	letter-spacing: 0.1em;
	position: absolute;
	left: 70px;
	padding-top: 0px;
	margin-top: -32px;
	margin-left: -10px;
}
p.resp {
	text-align: left;
	padding-left: 10px;
	padding-top: 10px;
	padding-bottom: 10px;
	border-top: 1px solid #000000;
	margin-left: 15px;
	margin-right: 15px;
	margin-top: 0px;
}
	a{
		text-decoration: none
	}
p.first {
	margin-top: 10px;
}
.contactdata {
	display: none;
	transition: 1s;
}
.contactdata a {
	font-size: 13px;
	text-align: left;
	line-height: 24px;
	margin-left: 20px;
	display: block;
}
}
