/* サイドオープン時にメインコンテンツを覆う部分 */
.overlay {
	content: '';
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 300;
	overflow: hidden;
}

.sideOpen .overlay {
	visibility: visible;
	cursor: pointer;
	background: rgba(0,0,0,.2);
}

.sideOpenPC .overlay {
	visibility: visible;
	cursor: pointer;
	background: rgba(0,0,0,.2);
}

/* サイドメニュー ※リストのスタイルは省略 */
.sideMenu {
	position: fixed;
	top: 0;
	right: -270px;
	width: 270px;
	height: 100%;
	text-align: left;
	background-color: #4E5665;
	z-index: 350;
	overflow: hidden;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.sideMenuPC {
	position: fixed;
	top: 0;
	left: -290px;
	width: 270px;
	height: 100%;
	text-align: left;
	background-color: #FFF;
	z-index: 350;
	overflow: hidden;
	overflow-y: auto;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	-webkit-box-shadow: 6px 0px 20px 0px rgba(0,0,0,0.3);
	-moz-box-shadow: 6px 0px 20px 0px rgba(0,0,0,0.3);
	box-shadow: 6px 0px 20px 0px rgba(0,0,0,0.3);
}

/* 開閉用ボタン ※ボタンの細かいスタイルは省略 */
.sideMenuBtn {
	position: fixed;
	top: 11px;
	left: 10px;
	width: 40px;
	height: 24px;
	padding: 5px;
	cursor: pointer;
	z-index: 400;
}

.sideMenuBtnPC {
	position: fixed;
	top: 11px;
	left: 65px;
	width: 40px;
	height: 24px;
	padding: 5px;
	cursor: pointer;
	z-index: 400;
	-webkit-transition: all .2s ease;
	transition: all .2s ease;
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.ellipsisV {
	position: relative;
	display: block;
	cursor: pointer;
	width: 28px;
	height: 21px;
}

.ellipsisV .point {
	position: absolute;
	left: 0;
	right: 0;
	display: block;
	width: 28px;
	height: 3px;
	margin: auto;
	background-color: #FFF;
	-moz-border-radius: 5px;
	-webkit-border-radius: 5px;
	border-radius: 5px;
	-webkit-transition: all .3s;
	transition: all .3s;
}

.ellipsisV .point.top,
.ellipsisV .point.topPC {
	top: 0;
}

.ellipsisV .point.mid,
.ellipsisV .point.midPC {
	top: 0;
	bottom: 0;
}

.ellipsisV .point.bot,
.ellipsisV .point.botPC {
	bottom: 0;
}

.sideOpen .sideMenuBtn:hover .top,
.sideOpen .top,
.sideOpenPC .sideMenuBtn:hover .topPC,
.sideOpenPC .topPC {
	width: 26px;
	height: 4px;
	background-color: #FFF;
	-webkit-transform-origin: left top;
	-ms-transform-origin: left top;
	transform-origin: left top;
	-webkit-transform: rotate(45deg);
	-ms-transform: rotate(45deg);
	transform: rotate(45deg);
}

.sideOpen .mid,
.sideOpenPC .midPC {
	opacity: 0;
}

.sideOpen .sideMenuBtn:hover .bot,
.sideOpen .bot,
.sideOpenPC .sideMenuBtn:hover .botPC,
.sideOpenPC .botPC {
	width: 26px;
	height: 4px;
	background-color: #FFF;
	-webkit-transform-origin: left bottom;
	-ms-transform-origin: left bottom;
	transform-origin: left bottom;
	-webkit-transform: rotate(-45deg);
	-ms-transform: rotate(-45deg);
	transform: rotate(-45deg);
}

.sideOpen .sideMenuBtn:hover .bot,
.sideOpen .sideMenuBtn:hover .top,
.sideOpenPC .sideMenuBtn:hover .botPC,
.sideOpenPC .sideMenuBtn:hover .topPC {
	background-color: #FFF;
}

/* メインコンテンツ */
#container02 {
	-webkit-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 200;
}

/* サイドメニューオープン */

.sideOpen .overlay {
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
}

.sideOpen .sideMenu  {
	-webkit-transform: translate3d(-270px, 0, 0);
	transform: translate3d(-270px, 0, 0);
}

.sideOpenPC .sideMenuPC  {
	-webkit-transform: translate3d(290px, 0, 0);
	transform: translate3d(290px, 0, 0);
}

.sideOpenPC .sideMenuBtnPC {
	left: 285px;
}

body.sideOpen {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

@media screen and (min-width: 768px) {

.sideMenuBtn {
	display: none;
}

}

@media screen and (max-width: 767px) {

.sideMenuBtnPC {
	display: none;
}

}
