/*PC用*/
@media screen and (min-width:769px){

	/*親メニュー*/
	.global__navigation{
		margin:0 0 0 0;
		padding:4px 0 4px 0;
		width:auto;
		height:auto;
		background:#CC3399;
	}
	
	.global__navigation input[type="checkbox"]{
		display:none;
	}
	
	.global__navigation label{
		display:none;
	}
	
	.global__navigation nav{
		margin:0 auto 0 auto;
		padding:0 2em 0 2em;
		width:100%;
		height:32px;
	}
	
	.global__navigation nav ul.menu{
		margin:0 auto 0 auto;
		padding:0 0 0 0;
		list-style:none;
		display:flex;
		justify-content:space-between;
		width:100%;
		height:32px;
		line-height:32px;
		font-size:0.8rem;
		font-weight:800;

		position:relative;
		z-index:100;
	}
	
	.global__navigation nav ul.menu li{
		margin:0 0 0 0;
		padding:0 0.5rem 0 0.5rem;
		flex:1 1 auto;
		min-width:80px;
		border-left:dotted 1px #FFF;
		cursor:pointer;
	}
	
	.global__navigation nav ul.menu li:first-child{
		border-left:dotted 1px #FFF;
	}
	
	.global__navigation nav ul.menu li:last-child{
		border-right:dotted 1px #FFF;
	}
	
	.global__navigation nav ul.menu a{
		display:block;
		width:auto;
		height:100%;
		text-decoration:none;
		text-align:center;
		white-space:nowrap;
		color:#FFF;
	}
	
	
	/*子メニュー*/
	
	.global__navigation nav ul.sub-menu{
	  	display:-webkit-box;
	  	display:-ms-flexbox;
	  	display:flex;
	  	-ms-flex-wrap: wrap;
	  	flex-wrap: wrap;
	  	justify-content: space-between;
		margin:0 auto 0 auto;
		padding:0;
		width:100%;
		max-height:0;
		font-weight:100;
		list-style:none;
		border:none;
		position:absolute;
		top:36px;
		left:0;
		z-index:80;
		overflow:hidden;
		transition:all 0.5s 0s ease-in;
		-webkit-transition:all 0.5s 0s ease-in;
		filter: drop-shadow(0px 1px 3px rgba(0,0,0,0.5));
	}
	
	.global__navigation nav ul.menu li:hover ul.sub-menu{
		max-height:100vh;
		margin:0;
		padding:0;
		background:#CC3399;
	}
	
	.global__navigation nav  ul.sub-menu li{
		margin:0 0 0 0;
		padding:1em 2em 1em 2em;
		/*padding:0 0 0 0;*/
		flex:1 1 auto;
		min-width:calc(25% - 5em);
		border:none;
		word-wrap: break-word;
	}
	
	.global__navigation nav ul.sub-menu li:first-child{
		border-left:none;
	}
	
	.global__navigation nav ul.sub-menu li:last-child{
		border-right:none;
	}
	
	.global__navigation nav  ul.sub-menu li a{
		display:block;
		width:100%;
		height:100%;
		text-align:left;
		color:#fff;
		margin:0.5em;
		padding:0;
	}
	
	.global__navigation nav  ul.sub-menu li a::before{
		display:inline-block;
		content:"\276f";
		margin:0.5em;
	}
	
	.global__navigation nav  ul.sub-menu li a::after{
		content:"";
		width:0;
		height:1px;
		display:block;
		background:#FFF;
		transition:all 0.5s ease-out;
	}
	
	.global__navigation nav  ul.sub-menu li a:hover::after{
		width:100%;
		height:1px;
		display:block;
		background:#FFF;
	}
	
	.global__navigation label.toggle{
		display:none;
	}
	
	.global__navigation input#openmenu{
		display:none;
	}
}

/*モバイルデバイス用*/
@media screen and (max-width: 768px){

	.global__navigation nav{
		background:#CC3399;
		width:100%;
		height:100%;
		margin:0;
		padding:0;
		line-height:40px;
		overflow:auto;
  		overflow-y: auto;
  		-webkit-overflow-scrolling: touch;
		-webkit-transition: all 0.5s;
		transition: all 0.5s;
		position:fixed;
		z-index:100;
		top:0;
		right:-100%;
	}

	.global__navigation nav ul{
		margin:0;
		padding:0;
		list-style:none;
		width:auto;
		line-height:40px;
		font-weight:800;
	}
	
	.global__navigation nav ul li a{
		display:block;
		height:100%;
		width:100%;
		text-decoration:none;
		overflow:hidden;
		text-overflow: ellipsis;
		color:#fff;
	}
	
	.global__navigation nav ul li{
		min-height:40px;
		border-top:solid 1px #fff;
	}
	
	.global__navigation nav ul li:first-child{
		border-top:none;
	}
	
	
	.global__navigation nav ul li a::before{
		content:"\025bc";
		margin-right:8px;
		margin-left:8px;
	}
	
	.global__navigation nav ul li:last-child{
		border-bottom:solid 1px #fff;
	}
	
	.global__navigation nav ul li:hover ul.sub-menu{
		max-height:600px;
	}

	.global__navigation nav ul.sub-menu{
		all:initial;
		font-size:0.9rem;
		line-height:40px;
		display:block;
		margin:0;
		padding:0;
		width:100%;
		max-height:0px;
		background:#333;
		overflow:hidden;
		transition: all 500ms 0s ease-out;
		-webkit-transition: all 500ms 0s ease-out;
	}
	
	.global__navigation nav ul.sub-menu::before{
		display:block;
	}
	
	.global__navigation nav ul.sub-menu li{
		display:block;
		height:40px;
		line-height:40px;
		border:none;
		border-bottom:dotted 1px #fff;
	}
	
	.global__navigation nav ul.sub-menu li:first-child{
		border-top:dotted 1px #fff;
	}
	
	.global__navigation nav ul.sub-menu li:last-child{
		border-bottom:none;
	}
	
	.global__navigation nav ul.sub-menu li a{
		color:#ffffff;
		text-decoration:none;
		overflow:hidden;
		text-overflow: ellipsis;
		height:100%;
		display:block;
	}
	
	.global__navigation nav ul.sub-menu li a::before{
		content:"\276f";
		margin-right:8px;
		margin-left:2em;
	}
	
	
	#open:checked ~ nav{
		width:100%;
		height:100%;
		position:fixed;
		right:0;
	}
	
	#open{
	  display: none;
	}

	#open:checked ~ .toggle{
		background:url(../img/menu.svg) no-repeat right center #CC3399;
	}
	 
	.toggle{
		cursor: pointer;
		height:40px;
		width:40px;
		display:block;
		padding:0;
		margin:0;
		background:url(../img/menu.svg) no-repeat left center #CC3399;
		text-indent:-10000em;
		position:fixed;
		top:0px;
		right:0px;
		z-index:1000;
	}

}

/*カテゴリナビゲーション*/

aside .category ul{
	list-style:none;
	margin:0 0 20px 0;
	padding:0;
	line-height:2.5em;
}

aside .category ul li{
	border-bottom:dotted 1px #333;
}

aside .category ul li a{
	text-decoration:none;
	display:block;
}

aside .category ul li a::before{
	content:"\0276F";
	color:#000;
	margin-right:1em;
}

aside .category ul li a:hover::before{
	content:"\0276F";
	color:#CC3399;
	margin-right:1em;
}

/*戻るボタン*/

button.bottom__btn--back{
	appearance: none;
	display:block;
	color:#FFF;
	background-color:#CC3399;
	border: none;
	border-radius:20px;
	cursor: pointer;
	outline: none;
	margin:2rem auto 2rem auto;
	padding:0 1rem 0 1rem;
	text-align:center;
	font-size:1rem;
	font-weight:800;
	line-height:40px;
	min-width:180px;
	min-height:40px;
	vertical-align:bottom;
}

button.bottom__btn--back::before{
	content:"\0276E\0276E";
	display:inline-block;
	margin-right:0.25em;
}


.bottom__btn--up{
	margin:0;
	padding:0;
	position:fixed;
	bottom:0;
	right:0;
	width:40px;
	height:40px;
	text-align:center;
}
.bottom__btn--up a{
  	display:-webkit-box;
  	display:-ms-flexbox;
  	display:flex;
  	-webkit-box-orient: vertical;
  	-webkit-box-direction: normal;
  	-ms-flex-direction: column;
  	flex-direction: column;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	line-height:1rem;
	width:100%;
	height:100%;
	background:#CC3399;
	color:#FFFFFF;
	text-decoration:none;
}