@charset "UTF-8";

html {
	overflow-y:scroll;
}

@media screen and (min-width:769px) {
	body {
		font-size:14px;
	}
	
	.sp {
		display:none!important;
	}
}

@media screen and (max-width:768px) {
	body {
		font-size:2.8vw;
	}
	
	.pc {
		display:none!important;
	}
}

@media screen and (max-width:640px) {
	body {
		font-size:3vw;
	}
	
	.pc {
		display:none!important;
	}
}

/*main*/
main {
	margin:0 auto;
	max-width:1280px;
	width:85%;
}

@media screen and (max-width:768px) {
	
}

/*header*/
header {
	position:fixed;
	z-index:100;
	width:100%;
	background:url(../img/header_bg.png) left bottom repeat-x;
	background-size:auto 100%;
}

header {
	padding:1.1em 2em;
}

header img {
	width:auto;
	height:1.8em;
}

@media screen and (max-width:768px) {
	header {
		padding:1.5em 5%;
	}
	
	header img {
		width:auto;
		height:1.5em;
	}
}

/*.menu_bt*/
.menu_bt {
	position:fixed;
	top:0;
	right:0;
	z-index:500;
	width:6em;
	height:4em;
	cursor:pointer;
	transition:background .5s;
}

.menu_bt.open {
	background:url(../img/menu_bt_op.png) center center no-repeat;
	background-size:3em;
}

.menu_bt.close {
	background:url(../img/menu_bt_cl.png) center center no-repeat;
	background-size:3em;
}

@media screen and (max-width:768px) {
	.menu_bt {
		width:5.5em;
		height:4.5em;
	}
}

/*.fb_bt*/
.fb_bt {
	position:fixed;
	top:1em;
	right:6em;
	z-index:500;
}

.fb_bt a {
	display:block;
	width:2em;
	height:2em;
	background:url(../img/fb_bt.png) center center no-repeat;
	background-size:auto 2em;
}

@media screen and (min-width:769px) {
	.fb_bt a:hover {
		background-image:url(../img/fb_bt_on.png);
	}
}

@media screen and (max-width:768px) {
	.fb_bt {
		top:1.25em;
		right:5.5em;
	}
	
	.fb_bt a {
		background-image:url(../img/fb_bt_on.png);
	}
}

/*.menu*/
nav .menu {
	position:fixed;
	top:0;
	bottom:0;
	z-index:300;
	overflow:hidden;
	width:20em;
}

nav .menu_bg {
	position:fixed;
	top:0;
	bottom:0;
	z-index:200;
	width:100%;
	background-color:rgba(255,255,255,.9);
}

nav.open .menu_bg {
	display:none;
}

nav.open .menu {
	left:-20em;
}

nav.close .menu {
	left:0;
}

nav .menu .wrap {
	position:absolute;
	top:0;
	right:-2em;
	bottom:0;
	left:0;
	overflow:auto;
	padding:6em 1em 1em 4em;
}

nav .menu li {
	padding:0 .5em;
}

nav .menu li a {
	display:block;
	padding:.75em 0;
	letter-spacing:.05em;
	font-weight:500;
	font-size:200%;
	font-family:futura-pt,"游ゴシック",YuGothic,sans-serif;
}

nav .menu li a span {
	display:inline-block;
	width:1em;
	text-align:right;
	font-weight:700;
	font-size:80%;
	font-family:sans-serif;
}

nav .menu li.active span:before {
	content:'_';
}

@media screen and (max-width:768px) {
	nav .menu li a {
		padding:.5em 0;
	}
	
	nav .menu .wrap {
		padding:4em 1em 1em 2em;
	}
}

/*.menu_main*/
.menu_main {
	text-align:center;
}

.menu_main li {
	display:inline-block;
}

.menu_main li.active span:before {
	content:'_';
}

.menu_main a {
	display:block;
	padding:1em;
	letter-spacing:.05em;
	font-weight:500;
	font-size:110%;
	font-family:futura-pt,"游ゴシック",YuGothic,sans-serif;
	line-height:1;
}

.menu_main li a span {
	font-weight:700;
	font-size:80%;
	font-family:sans-serif;
}

footer .menu_main {
	margin:0 auto 3em;
	padding-bottom:1em;
	border-bottom:1px solid #e6e6e6;
}

@media screen and (max-width:768px) {
	.menu_main li {
		padding:0;
		width:auto;
	}
	
	.menu_main li.sep {
		display:block;
		padding:0;
		width:100%;
		height:1px;
	}
	
	.menu_main a {
		padding:.75em 1em;
		font-size:120%;
	}
	
	footer .menu_main {
		margin:0 auto 1.5em;
		padding-bottom:.5em;
	}
	
	footer .menu_main ul {
		padding-bottom:2em;
	}
}

/*footer*/
footer {
	margin:0 auto;
	padding:2em 0;
	width:90%;
}

footer .copy {
	text-align:center;
	letter-spacing:.05em;
	font-size:80%;
}

/*.main_title*/
.main_title {
	padding:0 0 3em;
	line-height:1.2;
}

.main_title .wrap {
	margin:0 auto;
	max-width:800px;
	width:100%;
	font-size:500%;
}

.main_title h1 {
	display:inline;
	letter-spacing:.05em;
	font-weight:500;
	font-family:futura-pt,"游ゴシック",YuGothic,sans-serif;
}

.main_title h1 i {
	display:none;
}

article .main_title {
	padding:0;
	min-height:30em;
	height:80vh;
	text-align:center;
}

article .main_title .wrap {
	position:absolute;
	top:45%;
	left:50%;
	-webkit-transform:translate(-50%,-50%);
	-ms-transform:translate(-50%,-50%);
	transform:translate(-50%,-50%);
}

.main_title span {
	font-size:80%;
	font-family:sans-serif;
}

@media screen and (max-width:768px) {
	.main_title {
		padding:0 0 2em;
	}
	
	.main_title .wrap {
		width:auto;
		width:90%;
		font-size:340%;
	}
}

/*article*/
article {
	padding-bottom:4em;
}

article .arrow {
	position:relative;
	display:block;
	min-height:4em;
	width:100%;
	height:20vh;
	text-align:center;
}

article .arrow img {
	position:absolute;
	left:50%;
	display:block;
	width:2em;
	height:auto;
	-webkit-transform:translateX(-50%);
	-ms-transform:translateX(-50%);
	transform:translateX(-50%);
}

article .arrow.top img {
	top:0;
}

article .arrow.bottom img {
	bottom:0;
}

@media screen and (max-width:768px) {
	article {
		padding-bottom:1.5em;
	}
	
	article .arrow {
		min-height:3em;
	}
	
	article .arrow img {
		width:1.5em;
		height:auto;
	}
}

/*.pagetop*/
.pagetop {
	cursor:pointer;
}

/*.loading*/
.loading {
	position:fixed;
	top:0;
	right:0;
	bottom:0;
	left:0;
	z-index:1000;
	background-color:#fff;
}

/*.menu_bg_fix*/
.menu_bg_fix.fixed {
	position:fixed;
	width:100%;
	height:100vh;
}

/*.cursor*/
.cursor {
	font-weight:lighter;
	-webkit-animation:blink .2s ease-in-out infinite alternate;
	-moz-animation:blink .2s ease-in-out infinite alternate;
	animation:blink .2s ease-in-out infinite alternate;
}

@-webkit-keyframes blink {
	0% {
		opacity:0;
	}
	
	100% {
		opacity:1;
	}
}

@-moz-keyframes blink {
	0% {
		opacity:0;
	}
	
	100% {
		opacity:1;
	}
}

@keyframes blink {
	0% {
		opacity:0;
	}
	
	100% {
		opacity:1;
	}
}
