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

.ccm-page .menu-collapser{
	position:relative;
	height:48px;
	font-size:16px;
	line-height:48px;
}
.ccm-page .collapse-button{
	position:absolute;
	right:0px; top:0;
	padding:8px 16px;
	font-size:14px;
	text-align:center;
	cursor:pointer;
}
.ccm-page .collapse-button .icon-bar{
	display:block;
	height:2px;
	width:24px;
	margin:6px 0;
	background-color:rgba(31,44,92,1.00);
	border-radius:1px;
  transition: all .4s;
	position: relative;
}
.ccm-page .collapse-button span:nth-of-type(1) {
	bottom: 0px;
}
.ccm-page .collapse-button span:nth-of-type(3) {
	top: 0px;
}
.ccm-page .menu-collapser .active span:nth-of-type(1) {
	transform: translateY(20px) rotate(-45deg);
	bottom: 12px;
}
.ccm-page .menu-collapser .active span:nth-of-type(2) {
	display: none;
}
.ccm-page .menu-collapser .active span:nth-of-type(3) {
	transform: translateY(-20px) rotate(45deg);
	top: 20px;
}
.ccm-page ul.slimmenu{
	list-style-type:none;
	line-height: 1;
}
.ccm-page ul.slimmenu:before,
.ccm-page ul.slimmenu:after{
	content:'';
	display:table;
}
.ccm-page ul.slimmenu:after{
	clear:both;
}
.ccm-page ul.slimmenu.collapsed li{
	display:block;
	width:100%;
}
.ccm-page ul.slimmenu.collapsed li>ul{
	position:static;
	display:none;
}
.ccm-page ul.slimmenu.collapsed li a{
	display:block;
}
.ccm-page ul.slimmenu.collapsed li .sub-toggle{
	height:50px;
	line-height:50px;
}
.ccm-page ul.slimmenu li{
	position:relative;
	display:inline-block;
}
.ccm-page ul.slimmenu li ul{
	margin:0;
	list-style-type:none;
}
.ccm-page ul.slimmenu li>ul{
	position:absolute;
	left:0;
	z-index:5;
	display:none;
	width:160%;
}
.ccm-page ul.slimmenu li>ul>li ul{
	position:absolute;
	left:100%; top:0;
	z-index:5;
	display:none;
	width:100%;
}
.ccm-page ul.slimmenu li a{
	display:block;
	font-size:16px;
	transition:background-color 0.5s ease-out;
	-o-transition:background-color 0.5s ease-out;
	-moz-transition:background-color 0.5s ease-out;
	-webkit-transition:background-color 0.5s ease-out;
	text-decoration:none !important;
}
.ccm-page ul.slimmenu li ul li a{
	padding:16px 8px;
}
.ccm-page ul.slimmenu li a:hover{
	text-decoration:none;
	color: rgba(255,255,255,0.7);
}
.ccm-page ul.slimmenu li .sub-toggle{
	position:absolute;
	right:0; top:0;
	z-index:5;
	width:48px;
	height:100%;
	text-align:center;
	cursor:pointer;
	font-size:2rem;
	margin:0;
	color:rgba(255,255,255,0.6);
	-webkit-transition: all 0.3s ease;
	-moz-transition: all 0.3s ease;
	transition: all 0.3s ease;
}
.ccm-page ul.slimmenu li .sub-toggle>i{
	display:inline-block;
	vertical-align:middle;
}
.ccm-page ul.slimmenu li .en{
	font-size: 0.6rem;
}
/*　スマホ（スマートフォン・タブレット）・タブレット用
---------------------------------------------------------------------*/
@media (max-width: 768px) {
	.ccm-page .nav_area{
		width: 100%;
	}
	.ccm-page .collapse-button i{
		margin:0;
	    font-size: 1rem;
		top: -6px;
    	position: relative;
	}
	.ccm-page .collapse-button i::after{
		content: "MENU";
		font-size: 0.6rem;
    	position: absolute;
    	bottom: -12px;
    	right: -8px;
	}
.ccm-page ul.slimmenu li a{
	padding:16px;
	color:rgba(255,255,255,0.8);
	text-align: center;
}
.ccm-page ul.slimmenu li{
	border-bottom:1px solid rgba(255,255,255,0.8);
}
.ccm-page ul.slimmenu li>ul{
	top:100%;
}
.ccm-page ul.slimmenu{
	margin:0;
	padding:0;
	width:100%;
	background:rgba(84,84,84,1.00)
}
.ccm-page ul.slimmenu li ul li a{
	padding:16px 8px 16px 32px;
	background:rgba(102,102,102,1);
	text-align: left;
}
.ccm-page ul.slimmenu li .sub-toggle{
	color:rgba(255,255,255,1);
}
	.ccm-page ul.slimmenu li .expanded{
    transform: scale(1, -1);
    filter: FlipV;
    -ms-filter: "FlipV";
	}
.ccm-page ul.slimmenu li .en{
	display:inline-block;
	color:inherit;
	padding:0 0 0 16px;
}
	/*カレント（現在地）*/
	.ccm-page .slimmenu .nav-selected a{
		position: relative;
	}
	.ccm-page .slimmenu .nav-selected a::after{
	color:rgba(255,255,255,.2);
		content: "いまこのページ";
		position: absolute;
		right: 8%;
	}
}

/*　パソコン（PC）用
---------------------------------------------------------------------*/
@media (min-width: 769px) {
#navigation{
	padding:22px 0;
    width: 100%;
}
.ccm-page ul.slimmenu li{
	text-align:center;
	flex-grow:1;
}
	.ccm-page ul.slimmenu li+li{
		border-left: 1px solid rgba(221,221,221,1.00);
	}
.ccm-page ul.slimmenu li a{
	padding:0px 16px;
	color: rgba(255,255,255,1.00);
}
.ccm-page ul.slimmenu li ul{
	top:32px;
	left: -30%;
	padding:0;
	-webkit-box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.3);
	-moz-box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.3);
	box-shadow: 0px 0px 4px 1px rgba(0,0,0,0.3);
}
.ccm-page .has-submenu:hover > .sub-toggle{
    transform: scale(1, -1);
    filter: FlipV;
    -ms-filter: "FlipV";
	padding:0;
}
	.ccm-page ul.slimmenu li .en{
	display: block;
	color: rgba(84,84,84,0.4);
	padding: 4px 0 0;
	}
	.ccm-page ul.slimmenu li a:hover > .en,
	.ccm-page ul.slimmenu li .nav-selected .en{
		color: rgba(255,255,255,1);
	}
.ccm-page ul.slimmenu li ul li{
	display:block;
	background:rgba(255,255,255,1);
	border-bottom:rgba(84,84,84,1) 1px dotted;
	border-right:none;
}
.ccm-page ul.slimmenu li ul li:hover{
	border-bottom:rgba(84,84,84,.8) 1px dotted;
}
.ccm-page ul.slimmenu li ul li:last-child{
	border-bottom:none;
}
.ccm-page ul.slimmenu li ul li a{
	color:rgba(84,84,84,1);
	font-size:0.9rem;
}
.ccm-page ul.slimmenu li ul li a:hover{
	color: rgba(84,84,84,.7);
}
	.ccm-page ul.slimmenu li ul li a:after,
	.ccm-page ul.slimmenu li ul li a:hover:after{
	width: 0;
	}
.ccm-page ul.slimmenu li .sub-toggle{
	width:auto;
	height:auto;
	bottom:-20px;
	left:0;
	top:inherit;
	font-size:1.4rem;
}
	/*カレント（現在地）*/
	.ccm-page .slimmenu:hover > .nav-selected .en{
		color: inherit;
	}
}
