@charset "utf-8";
/* CSS Document */

/*
Reset
Layout
clearfix
Media screen
*/



/*================================================================================
	Reset
================================================================================*/
html,
head,
body,
header,
footer,
nav,
section,
div,
ul,
ol,
li,
dl,
dt,
dd,
table,
tr,
th,
td,
h1,
h2,
h3,
h4,
h5,
h6,
p,
a,
span,
img,
video {
	margin:0;
	padding:0;
	border:none;
}
ul,ol { list-style:none; }
a,
a:hover,
a:active {
	color:#333333;
	text-decoration:none;
}
a,
a img,
a:hover img,
li:hover {
	-webkit-transition:all 0.5s;
	-moz-transition:all 0.5s;
	-ms-transition:all 0.5s;
	-o-transition:all 0.5s;
	transition:all 0.5s;
}
img { display:block; }

html {
	margin-left:-1px;
	overflow-Y:scroll;
	height:100%;
	margin-bottom:1px;
}

body {
	height:auto;
	color:#333;
	font-size:14px;
	line-height:180%;
	background-color:#fff;
	font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}


/*================================================================================
	Layout
================================================================================*/
#container {
	position:relative;
	background:url(../img/common/bg_main.png) no-repeat 50% 0;
	background-attachment:fixed;
}

/* section
--------------------------------------------------------------------------------*/
.wrap { margin:0 auto; width:100%; }

h2 {
	margin:65px auto 40px;
	padding-bottom:10px;
	font-size:36px;
	font-weight:bold;
	text-align:center;
	border-bottom:3px solid #000;
}
h2 span {
	display:block;
	margin-bottom:10px;
	font-size:16px;
	font-weight:normal;
}

.menu_all li { margin-left:20px; }
.menu_all li a {
	padding-left:20px;
	background:url(../img/common/icon_cross.png) no-repeat 0 30%;
}
.menu_all li a:hover { opacity:0.6; }

/* header
--------------------------------------------------------------------------------*/
header {}

/* footer
--------------------------------------------------------------------------------*/
footer {}
footer .wrap { position:relative; }
footer #footer_lower { background-color:#dbdbdc; }
#footer_lower nav a:hover { opacity:0.6; }
#footer_lower nav .soon a { opacity:0.4; }
footer p {
	padding:2px 0;
	color:#fff;
	font-size:12px;
	text-align:center;
	background-color:#000;
}




/*================================================================================
	Media screen : PC 640px
================================================================================*/
@media screen and (min-width: 641px) {

header #btn_menu,
header nav .menu_all { display:none; }

/* section */
section { margin-bottom:60px; }
.wrap { width:1280px; }
section .wrap { width:960px; }
.menu_all li { float:left; }
nav li { display:inline; }
nav li a { padding:0 10px; }
.btn_pagetop {
	width:80px;
	position:absolute;
	right:35px;
	bottom:0;
}
.btn_pagetop a {
	padding-top:20px;
	width:100%;
	display:block;
	text-align:center;
	background:url(../img/common/icon_pagetop.png) no-repeat 50% 0;
}

/* header */
header .wrap {
	width:100%;
	height:180px;
	position:relative;
}
header h1 {
	margin:0 auto;
	padding-top:30px;
	width:930px;
}
header p {
	margin:0 auto;
	width:930px;
	height:0;
	padding-top:38px;
	overflow:hidden;
	background:url(../img/common/logo_period.png) no-repeat 0 0;
}
header .logo_mori { position:absolute; top:5px; left:20px; }
header .menu_all { position:absolute; top:5px; right:20px; }
header nav ul {
	padding-top:9px;
	width:100%;
	height:40px;
	text-align:center;
	background-color:#000;
	box-sizing:border-box;
	position:absolute;
	bottom:0;
}
header nav li { padding:0 10px 2px; }
header nav li.active,
header nav li:hover { border-bottom:6px solid #d30d41; }
header nav li a,
header nav li a:hover { color:#fff; }
header nav li.soon a,
header nav li.soon a:hover { color:#666; }
header nav li.soon:hover { border-bottom:none; }

/* footer */
footer .wrap { width:100%; }
footer .menu_all { float:left; }
footer .menu_all a:hover { opacity:0.6; }
.sns_link { margin-left:40px; float:left; }
.sns_link li { margin-left:20px; float:left; }
.sns_link li a {
	width:24px;
	height:0;
	padding-top:24px;
	display:block;
	overflow:hidden;
}
.sns_link li:nth-child(1) a { background:url(../img/common/icon_twitter.png) no-repeat 0 0; }
.sns_link li:nth-child(2) a { background:url(../img/common/icon_facebook.png) no-repeat 0 0; }
.sns_link li:nth-child(3) a { background:url(../img/common/icon_instagram.png) no-repeat 0 0; }
.sns_link li:nth-child(4) a { background:url(../img/common/icon_youtube.png) no-repeat 0 0; width:58px; }
.sns_link li:nth-child(5) a { background:url(../img/common/icon_flickr.png) no-repeat 0 0; width:60px; }
footer #footer_lower { margin-top:10px; padding:15px 0; }
#footer_lower nav { float:left; margin-left:10px; }
#footer_lower div.logo_rpg { float:right; margin-right:20px; }
#footer_lower div.logo_mam {
	clear:both;
	padding-top:10px;
	background:url(../img/common/bg_moriart.png) repeat-x bottom;
}
#footer_lower div.logo_mam a {
	width:168px;
	display:block;
}

}

/*================================================================================
	Media screen : 横幅100%時の背景色ヌケ防止
================================================================================*/
@media screen and (min-width: 641px) and (max-width: 1279px) {

#container { width:1280px; background-size:cover; }

}

/*================================================================================
	Media screen : SP 640px
================================================================================*/
@media screen and (max-width: 640px) {

body { font-size:16px; }
body::before {
	content:"";
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height:100vh;
	background:url(../img/common/bg_main_sp.jpg) no-repeat 50% 0;
	background-size:cover;
}
#container {
	background:none;
	/*background:url(../img/common/bg_main_sp.jpg) no-repeat 50% 0;
	background-attachment:fixed;*/
	/*background-size:cover;*/
}

/* section */
section { margin-bottom:40px; }
section .wrap { box-sizing:border-box; padding:0 20px; }
.btn_pagetop { margin-top:10px; padding-top:10px; background-color:#dbdbdb; }
.btn_pagetop a {
	padding-top:15px;
	width:100%;
	display:block;
	text-align:center;
	background:url(../img/common/icon_pagetopsp.png) no-repeat 50% 0;
	background-size:15px 12px;
}
h2 {
	margin:40px auto 30px;
	font-size:24px;
	border-bottom:5px solid #000;
}
h2 span {
	margin-bottom:0;
	font-weight:bold;
}

/* header */
header { background-color:#fff; }
header h1 { padding:30px 10px 0; }
header p {}
header img {
	width:100%;
	height:auto;
}
header .logo_mori { width:180px; position:absolute; top:10px; left:10px; }
header .menu_all.top_right { position:absolute; top:3px; right:10px; }
header .menu_area { position:relative; }
header #btn_menu {
	margin-top:5px;
	height:0;
	padding-top:40px;
	overflow:hidden;
	background:#000 url(../img/common/btn_menu.png) no-repeat 50% 50%;
	background-size:38px 23px;
	cursor:pointer;
}
header nav {
	width:100%;
	height:auto;
	position:absolute;
	top:40px;
	z-index:10;
	display:none;
}
header nav.active { display:block; }
header nav ul:nth-child(1) li {
	width:50%;
	background-color:#dbdbdc;
	border-bottom:2px solid #fff;
	box-sizing:border-box;
	float:left;
}
header nav ul:nth-child(1) li.active { background-color:#b1b1b3; }
header nav ul:nth-child(1) li:nth-child(odd) { border-left:1px solid #fff; }
header nav ul:nth-child(1) li:nth-child(even) { border-right:1px solid #fff; }
header nav ul:nth-child(1) li:nth-child(1) { display:none; }
header nav ul:nth-child(1) li:nth-child(4) a { font-size:12px; }
header nav ul:nth-child(1) li a {
	display:block;
	padding:10px 0;
	width:100%;
	text-align:center;
	font-size:14px;
}
header nav ul:nth-child(1) li.soon a { color:#999; }
header nav ul:nth-child(2) {
	padding:10px 0;
	background-color:#fff;
}
header nav p {
	background-color:#000;
}
header nav p a {
	display:block;
	padding:5px 0;
	width:100%;
	color:#fff;
	text-align:center;
}

/* footer */
.sns_area { background-color:#fff; }
.sns_link { padding:15px 0; width:300px; margin:0 auto; }
.sns_link li { margin-left:20px; float:left; }
.sns_link li a {
	width:26px;
	height:0;
	padding-top:26px;
	display:block;
	overflow:hidden;
}
.sns_link li:nth-child(1) a { background:url(../img/common/icon_twitter_sp.png) no-repeat 0 0; background-size:26px 26px; }
.sns_link li:nth-child(2) a { background:url(../img/common/icon_facebook_sp.png) no-repeat 0 0; background-size:26px 26px; }
.sns_link li:nth-child(3) a { background:url(../img/common/icon_instagram_sp.png) no-repeat 0 0; background-size:26px 26px; }
.sns_link li:nth-child(4) a { background:url(../img/common/icon_youtube_sp.png) no-repeat 0 0; width:55px; background-size:55px 26px; }
.sns_link li:nth-child(5) a { background:url(../img/common/icon_flickr_sp.png) no-repeat 0 0; width:52px; background-size:52px 26px; }
footer #footer_lower { padding-top:10px; }
#footer_lower nav { margin:0 20px; }
#footer_lower nav ul { padding-bottom:5px; }
#footer_lower nav li { border-bottom:1px solid #fff; }
#footer_lower nav li:last-child { border-bottom:none; }
#footer_lower nav a {
	display:block;
	padding:10px 0;
}
#footer_lower .menu_all { padding:20px 0 10px; background-color:#fff; }
#footer_lower div img { width:100%; height:auto; }
#footer_lower div.logo_btm { background-color:#fff; padding-bottom:15px; }
#footer_lower div.logo_rpg { margin:0 20px 0 auto; width:98px; height:17px; }
#footer_lower div.logo_mam {
	background:url(../img/common/bg_moriart_sp.png) repeat-x bottom;
	background-size:auto 26px;
}
#footer_lower div.logo_mam a {
	margin-left:20px;
	width:105px;
	height:26px;
	display:block;
}

}


/*================================================================================
	clearfix
================================================================================*/
.menu_all:after,
.sns_link:after,
header nav ul:after,
footer .wrap:after,
#footer_lower:after {
	visibility: hidden;
	display: block;
	font-size: 0;
	content: " ";
	clear: both;
	height: 0;
}
/* clearfix for ie7 */
.menu_all,
.sns_link,
header nav ul,
footer .wrap,
#footer_lower {
	display: inline-block;
}
.menu_all,
.sns_link,
header nav ul,
footer .wrap,
#footer_lower {
	display: block;
}
