@charset "UTF-8";
.visibility {
	display: block !important;
}
.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);
}
/*メニューアイコン*/

.menu_icon {
	margin-top: 23px;
	width: 100%;
	max-width: 980px;
	margin-left: auto;
	margin-right: auto;
	height: 85px;
}
.menu_icon .wrap:after {
	display: block;
	clear: both;
	content: "";
}
.menu_icon a {
	color: #555555;
	text-decoration: none;
	display: block;
}
.menu_icon div {
	width: 140px;
	float: left;
	margin-left: 10px;
	margin-right: 10px;
}
.menu_icon div img {
	margin-left: auto;
	margin-right: auto;
	display: block;
	margin-bottom: 12px;
}
.menu_icon p {
	text-align: center;
	font-family: Arial, Helvetica, sans-serif;
	color: #55555;
	font-weight: 500;
}
.resp_i {
	display: none;
}
.contactdata {
	display: none;
}

@media (max-width:599px) {
	.visibility {
	display: block !important;
}
.top_img {
	display: none;
}
.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;
}
.logo {
	width: 100%;
	max-width: 140px;
	background-color: hsla(0,0%,100%,0.80);
	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;
	margin-top: 15px;
}
.button_wrap {
	width: 60px;
	height: 60px;
	background-color: #FFFFFF;
	position: fixed;
	top: 0px;
	right: 0px;
	z-index: 10;
}
.button {
	display: block;
}
.menu_icon {
	display: none;
	margin-top: 0px;
	width: 55vw;
	height: 110vh;
	background-color: rgba(255,255,255,0.92);
	padding-top: 55px;
	position: fixed;
	top: 0px;
	right: 0px;
	z-index: 7;
}
.menu_icon div {
	margin-bottom: 7px;
	width: 215px;
	height: 50px;
	margin-left: 5px;
	padding-top: 0px;
	float: none;
}
.menu_icon div img {
	float: left;
	margin-top: 5px;
	margin-left: 5px;
	margin-right: 10px;
	margin-bottom: 0px;
}
.menu_icon div p.en {
	text-align: left;
	font-weight: bold;
	letter-spacing: 0.1em;
	display: inline-block;
	margin-top: 13px;
}
.menu_icon div p.ja {
	text-align: left;
	letter-spacing: 0.01em;
}
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;
}
p.first {
	margin-top: 10px;
}
p.last {
	border-bottom: 1px solid #000000;
}
.contactdata {
	display: none;
	transition: 1s;
}
.contactdata a {
	font-size: 13px;
	text-align: left;
	line-height: 24px;
	margin-left: 20px;
}
}
