@charset "utf-8";
/* Reset */
html,body,p,ol,ul,li,dl,dt,dd,textarea,iframe,hr,h1,h2,h3,h4,h5,h6 {
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6 {
	font-size: 100%;
	font-weight: normal;
}
ul {
	list-style: none;
}
button,input,select,textarea {
	margin: 0;
}
html {
	box-sizing: border-box;
}
*, *:before, *:after {
	box-sizing: inherit;
}
img,iframe {
	height: auto;
	max-width: 100%;
	vertical-align: top;
}
iframe {
	border: 0;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
td,th {
	padding: 0;
	text-align: left;
}
/* Reset END */

/* Default */
html {
	font-size: 62.5%;
	height: 100%;
	-webkit-text-size-adjust: 100%;
}
body {
	font-size: 1.6rem;
	line-height: 1.47059;
	font-weight: 400;
	font-family: "メイリオ", Meiryo, "ヒラギノ丸ゴ Pro W4","ヒラギノ丸ゴ Pro","Hiragino Maru Gothic Pro","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","HG丸ｺﾞｼｯｸM-PRO","HGMaruGothicMPRO";
	height: 100%;
	color: #555;
	text-align: center;
}
a {
	color: #E88BA6;
	text-decoration: underline;
}
a:hover {
	color: #EC3469;
	text-decoration: none;
}
a img {
	opacity: 0.75;
}
a img:hover {
	opacity: 1;
}

.smp {
	display: none!important;
}

.pagetop {
	display: none;
}
.pagetop a {
	display: block;
	position: fixed;
	bottom: 50px;
	right: 3%;
	width: 40px;
	height: 40px;
	background-color: #666;
	border-radius: 5px;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	opacity: 0.5;
}
.pagetop a:hover {
	opacity: 1;
}
.pagetop a span {
	position: absolute;
	width: 15px;
	height: 15px;
	border: 3px solid #666;
	border-left-color: #FFF;
	border-top-color: #FFF;
	top: 17px;
	left: 13px;
	transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-o-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	display: block;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
}

@media screen and (max-width: 980px) {
	.pagetop a {
		bottom: 68px;
		right: 5%;
	}
}



/* burger menu */

#burger_menu, #close-nav {
	display: none;
}

@media screen and (max-width: 980px) {
	body.nav-open main, body.nav-open .logo_blur, body.nav-open footer, body.nav-open .blur {
	  filter:blur(3px);
	}
	#burger_menu {
		display: block;
		width: 30px;
		height: 24px;
		position:fixed;
		top: 35px;
		right: 8%;
		z-index: 9999;
	}
	#burger_menu a {
		display:block;
		z-index:1;
		width: 100%;
		height:100%;
		cursor: pointer;
	}
	#burger_menu div,#burger_menu div:before,#burger_menu div:after {
		content: "";
		display: block;
		background-color: #999;
		width: 26px;
		height: 4px;
		border-radius: 4px;
		position: absolute;
		box-sizing: content-box;
		padding: 0;
		margin: 0;
		border: 1px solid #FFF;
	}
	#burger_menu a:hover div,#burger_menu a:hover div:before,#burger_menu a:hover div:after {
		background-color: #666;
	}
	#burger_menu div {
		top: 9px;
		width: 26px;
	}
	#burger_menu div:before {
		top: -10px;
		left: -1px;
		width: 26px;
	}
	#burger_menu div:after {
		top: 8px;
		left: -1px;
		width: 26px;
	}

	#burger_menu span {
		display: block;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

	#gnav_menu {
		background: #fff;
		position: fixed!important;
		display: block;
		z-index: 9999;
		right: 0!important;
		left: auto!important;
		top: 0!important;
		bottom: auto!important;
		margin: auto!important;
		height: 100vh;
		width: 70vw!important;
		max-width: 320px!important;
		transform: translate3d(111%, 0%, 0px);
		transition: all 200ms cubic-bezier(0.61, 0.92, 0.68, 1.14) 0s;
		box-shadow: 0 0 30px 0 rgba(0, 0, 0, 0.25);
		overflow: scroll;
	}
	header#main_header #gnav_menu .logo {
		float: none!important;
		width: 60%;
		margin: 40px auto 30px auto;
		text-align: center;
	}
	header#main_header nav {
		position: static!important;
	}
	
	#gnav_menu.open {
		transform: translate3d(0px, 0, 0);
	}
	#close-nav {
		display: block;
		cursor: pointer;
		position: absolute;
		width: 40px;
		height: 50px;
		right: 0px;
		top: 0;
		z-index: 11;
	}
	a#close-nav span {
	}
	a#close-nav span:before {
		transform: rotate(45deg);
		top: 23px;
		height: 4px;
		background: #999;
		border-radius: 5px;
		width: 30px;
		display: block;
		position: absolute;
		content: "";
	}
	a#close-nav span:after {
		transform: rotate(-45deg);
		top: 23px;
		height: 4px;
		background: #999;
		border-radius: 5px;
		width: 30px;
		display: block;
		position: absolute;
		content: "";
	}
	a:hover#close-nav span:before, a:hover#close-nav span:after {
		background-color: #666;
	}
	a#close-nav span {
		display: block;
		text-indent: 100%;
		white-space: nowrap;
		overflow: hidden;
	}

	#gnav_menu ul {
		margin: 0 auto 30px auto;
		padding: 0;
		list-style:none;
	}
	#gnav_menu li {
		margin: 0.5rem 0!important;
		width: 100%;
	}
	#gnav_menu li a {
		display: block;
		position: relative;
		padding: .5rem .8rem;
		font-size: 1.5rem;
		text-transform: uppercase;
		color:#333E48;
		text-decoration:none;
	}
	.dummy {
		position: fixed;
		top: 0;
		left: 0;
		opacity: 0;
		width: 100%;
		height: 100%;
		z-index: 10;
	}
}
/* burger menu END */