@charset "utf-8";
/* CSS Document */

.p-logo {
		padding-left: 15px;
	}
/*----------------------------
* メニュー開閉ボタン
*----------------------------*/
.menu-btn {
	right: 10px;
    z-index: 150;
    width: 35px;
    height: 35px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    top: 28px;
}
.menu-btn-tel {
	right: 80px;
    z-index: 50;
    width: 45px;
    height: 45px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
	top: 13px;
	padding: 3px!important;
}
/*----------------------------
* メニュー本体
*----------------------------*/
.menu-bio{
	position: fixed;
	top: 0;
	right: 0;
	z-index: 10;
	width: 50vw;
	height: 100vh;
	display: flex;
	flex-direction: column;
	padding-top: 150px;
	background:rgba(51,51,51,.8);
}

.menu__item {
	height: auto;
    padding: 20px 0;
    
    box-sizing: border-box;
	font-family: Montserrat;
	font-weight: 400;
}

.menu-bio .nav-link  {
	padding: 2px 15px;
}

.menu__item a {
	color: #ffffff!important;
	font-weight: bold;
	font-size: 140%;
	display: block;
	text-decoration: none;
}

/*
.menu__item_sub a {
	color: #ffffff!important;
	font-size: 120%;
	display: block;
	font-weight: normal;
	margin-left: 15px;
}
*/

.menu__item a:active {
	font-weight: 700;
}
	
	button.menu-btn, .menu-btn-tel {
		border: none;
		padding: 7px;
		position: fixed;
		background-color: #e6e8e6;
	}
button.menu-btn:hover {
	opacity: 0.5;
}
@media screen and (max-width:575.98px) {
	.menu-bio{
		width: 100vw;
	}
	.menu__item, .menu__item_sub {
		width: 100%;
/*		padding: 2px 0;*/
	}
	.menu__item a {
		font-size: 18px;
		color: #ffffff!important;
	}
	.menu__item_sub a{
		font-size: 14px;
		color: #ffffff!important;
	}
	
	.nav-link {
		padding: 5px 15px;
	}
}
/*----------------------------
* アニメーション部分
*----------------------------*/

/* アニメーション前のメニューの状態 */
.menu , .menu-bio {
  transform: translateX(100vw);
  transition: all .3s linear;
}
/* アニメーション後のメニューの状態 */
.menu.is-active , .menu-bio.is-active {
  transform: translateX(0);
}