﻿@charset "UTF-8";

@media screen and (min-width: 801px){
	.nopc {
	    display: none !important;
	}
}

/****  ヘッダー  ****/
#logo {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background: #FFF;
    z-index: 10000;
}
#logo .inner {
    max-width: 1980px;
    position: relative;
}
#logo .padding {
    position: relative;
    background: #FFF;
    box-shadow: 1px 1px 5px 3px #0003;
    z-index:200;
}
#logo-image {
    margin-top: 10px;
}
#menu {
    float: right;
}
#menu a,
.submenu a {
    color: #000;
    font-weight: 700;
    text-decoration: none;
}
#menu > div {
    position: relative;
    text-align: right;
    padding-top: 2.4em;
}
#menu > div > div {
	display: inline-block;
	vertical-align: top;
}
#menu > div > div > * {
    display: block;
    position: relative;
    padding: 8px 20px;
    text-align: center;
    cursor: pointer;
    font-weight: 700;
}
#menu > div > div > * br {
	display: none;
}
#menu > div > div#menu-call {
    position: absolute;
    right: 0;
    top: 0;
}
#menu > div > div#menu-call a {
    font-size: 12px;
    font-weight: 400;
}
#menu > div > div > *:after {
    content: "";
    display: block;
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 0px;
    background: #000;
    transition: 0.5s;
}
body.toppage #menu > div > div#menu-top > *:after ,
body.servicepage #menu > div > div#menu-service > *:after ,
body.companypage #menu > div > div#menu-campany > *:after ,
#menu > div > div:hover > *:after {
    height:5px;
}

.submenu {
    position: fixed;
    top: -140px;
    right: 0;
    width: 100%;
    padding-bottom: 30px;
    background: linear-gradient( #ffffff 0%, #e5efff 50%, #e5efff 100%);
    z-index: 100;
    text-align: right;
    transition: 500ms;
    padding-bottom: 20px;
}
.submenu.open  {
    top: 80px;
}
.submenu > * {
    display: inline-block;
    width: 400px;
    margin-top: 20px;
    margin-right: 2%;
    padding: 10px 20px;
    text-align: left;
    border-bottom: 1px solid #AAA;
}
@media screen and (max-width: 990px) and (min-width: 801px) {
	#logo {
		position: inherit;
	}
	#logo .padding {
		text-align: center;
	}
	#menu {
		float: none; 
		display: inline-block;
	}
	.submenu.open {
		top: 140px;
	}
	.submenu > * {
		width: 30%;
	}
	#fixed-menu.open {
		top: 0;
	}
}
@media screen and (max-width: 800px) {
	#logo {
		position: fixed;
	}
	#logo .padding {
		text-align:left;
		height: 64px;
	}
	#logo-image {
		max-width: 80%;
		height: auto;
	}
	#fixed-menu,
	#fixed-menu.open {
		top: -100vh;
	}
	#menu-sp {
/*		background:rebeccapurple url(../../img/common/sp_menu.png);	*/
/*		background-size: cover;	*/
		position: fixed;
		right: 4px;
		top: 4px;
		width: 60px;
		height: 60px;
		border-radius: 7px;
		cursor: pointer;
	}
	#menu-sp>div {
		position: absolute;
		transform: rotate(0deg) translateY(-50%);
		top: 50%;
		left: 20%;
		width: 60%;
		height: 2px;
		background: #000;
		transition: 0.5s;
		opacity: 1;
	}
	#menu-sp>div.menu-sp-l1 {	top: 30%;	transform: rotate(0deg) translateY(0);	}
	#menu-sp>div.menu-sp-l3 {	top: 70%;	transform: rotate(0deg) translateY(-100%);	}
	.spopen #menu-sp>div.menu-sp-l1 {	top: 50%;	transform: rotate(45deg) translateY(-50%);	}
	.spopen #menu-sp>div.menu-sp-l2 {	opacity: 0;	}
	.spopen #menu-sp>div.menu-sp-l3 {	top: 50%;	transform: rotate(-45deg) translateY(-50%);	}
	#menu ,
	.submenu {
		position: fixed;
		top: 0;
		right: -375px;
		width: 100%;
		min-height: 100%;
		overflow-y: scroll;
		max-width: 375px;
		max-height: 100%;
		height: auto;
		background: #FFF;
		background: #e5efff;
		box-shadow: 0 0 4px 4px #0002;
		transition: 0.5s;
		z-index: 1000;
		opacity: 0;
	}
	#menu > div ,
	.submenu {
		padding-top: 0;
	}
	#menu > div > div ,
	.submenu > div {
		display: block;
		margin: 0;
		width: 100%;
	}
	#menu > div > div#menu-top,
	div#menu-service-sub>div:first-child,
	div#menu-related-sub>div:first-child {
		height: 55px;
		margin: 60px 0 1em;
	}
	#menu > div > div#menu-top a,
	div#menu-service-sub>div:first-child span,
	div#menu-related-sub>div:first-child span  {
		display: block;
		position: relative;
		height: 55px;
		color: #0000;
	}
	#menu > div > div#menu-top a:before,
	div#menu-service-sub>div:first-child span:before,
	div#menu-related-sub>div:first-child span:before {
	    box-sizing: border-box;
	    content: "日本マルセル株式会社";
	    display: block;
	    position: absolute;
	    width: 90%;
	    top: 0;
	    left: 5%;
	    padding: 8px 20px;
	    text-align: center;
		font-size: 22px;
		font-weight: 700;
	    color: #00F;
	    border-bottom: 1px solid #00F;
	}
	div#menu-service-sub>div:first-child span:before {
	    content: "商品・サービス";
	}
	div#menu-related-sub>div:first-child span:before {
	    content: "ビルメンテナンス関連事業";
	}
	#menu > div > div.SPMenuClose {
		padding: 0;
	}
	#menu > div > div#menu-call {
		position: relative;
	}
	#menu > div > div > *,
	#menu > div > div#menu-call a ,
	.submenu a  {
		display: block;
		text-align: center;
		font-weight: 700;
		font-size: 14px;
		padding: 8px 20px;
	}
	#menu > div > div > *:after {
		left: 0;
		bottom: 0;
		width: 0;
		height:100%;
	}/*
	body.toppage #menu > div > div#menu-top > *:after ,
	body.servicepage #menu > div > div#menu-service > *:after ,
	body.companypage #menu > div > div#menu-campany > *:after ,
	#menu > div > div:hover > *:after {
		width: 5px;
		height:100%;
	}*/
	.spopen #menu {
		right: 0;
		opacity: 1;
	}
	.spopen.spopensub #menu {
		right: 100vw;
	}
	.spopen.spopensub .submenu.open {
		right: 0;
		top: 0;
		opacity: 1;
	}
	.SPMenuClose {
		cursor: pointer;
	}
	.SPMenuClose span:before {
		content: "<< CLOSE";
	}
	#menu-sp {
/*		background:rebeccapurple url(../../img/common/sp_menu.png); 	*/
		background-size: cover;
		position: fixed;
		right: 4px;
		top: 4px;
		width: 60px;
		height: 60px;
		border-radius: 7px;
		cursor: pointer;
		transition: top 0.1s;
		z-index:2000;
	}
	#sub-menu ,
	.submenu {
		position: fixed;
		top: 60px;
		right: -375px;
		width: 100%;
		max-wiidth: 375px;
		overflow-y: scroll;
		max-height: 100%;
		height: auto;
		transition: 0.5s;
		z-index: 1000;
	}
	#sub-menu > div > div ,
	.submenu > div {
		display: block;
		margin: 0;
		width: 100%;
	}
	.submenu > * {
		display: none;
		padding: 0;
		border-bottom: none;
	}
	#sub-menu > div > div#menu-call {
		position: relative;
	}
	#sub-menu > div > div > *,
	#sub-menu > div > div#menu-call a ,
	.submenu a ,
	.SPMenuClose {
		display: block;
		text-align: center;
		font-weight: 400;
		font-size: 14px;
		padding: 8px 20px;
	}
	#sub-menu > div > div > *:after {
		left: 0;
		bottom: 0;
		width: 0;
		height:100%;
	}
	body.toppage #sub-menu > div > div#menu-top > *:after ,
	body.servicepage #sub-menu > div > div#menu-service > *:after ,
	body.companypage #sub-menu > div > div#menu-campany > *:after ,
	#sub-menu > div > div:hover > *:after {
		width: 5px;
		height:100%;
	}
	.spopen #sub-menu {
		left: 0vw;
	}
	.spopen.spopensub #sub-menu {
		left: -100vw;
	}
	.spopen.spopensub .submenu.open {
		right: 0vw;
	}
	.SPMenuClose {
		cursor: pointer;
	}
	.menu-sp-bg {
		background: #000;
		position: fixed;
		top: 0;
		left: 0;
		width: 0;
		height: 0;
		opacity: 0;
		transition: opacity 0.5s;
	}
	.spopen .menu-sp-bg {
		opacity: 0.4;
		width: 100%;
		height: 100%;
	}
}




