@charset "utf-8";

/* ------------------------------------------------------- */
/* global menu ------------------------------------------- */
/* ------------------------------------------------------- */

#globalmenu {
	background: #fff;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	width: 100%;
}
#globalmenu ul {
	max-width: 1115px;
	min-width: 1000px;
	margin: 0 auto;
	display: flex;
}
#globalmenu ul li {
	border-left: 1px solid #ccc;
	width: calc(100% / 5);
	position: relative;
}
#globalmenu ul li:last-child {
	border-right: 1px solid #ccc;
}
#globalmenu ul li a {
	text-decoration: none;
	width: 100%;
	height: 30px; /**/
	display: block;
	font-size: 1.3rem;
	color: #000;
	text-align: center;
	position: relative;
	line-height: 30px;
}
#globalmenu ul li:hover {
	background: #ea5420;
	color: #fff;
}
/*#globalmenu ul li a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0da";
	position: relative;
	font-size: 2.2rem;
	color: #ea5420;
	display: block;
	text-align: center;
	height: 37px;
	top: 2px;
}
#globalmenu ul li.menuCatv a::before {
	content: "\f26c";
}
#globalmenu ul li.menuInternet a::before {
	content: "\f109";
}
#globalmenu ul li.menuPhone a::before {
	content: "\f3cd";
}
#globalmenu ul li.menuCh a::before {
	content: "\f519";
}
#globalmenu ul li.menuPlan a::before {
	content: "\f1ec";
}*/
#globalmenu ul li a:hover,
#globalmenu ul li a:hover::before {
	color: #fff;
}
#globalmenu ul ul {
	position: absolute;
	display: block;
	display: none;
	top: 30px;
	padding: 0;
	border-left: none;
	border-bottom: 1px solid #ccc;
	margin: 0 auto;
	float: none;
    width: 100%;
    min-width: 100px;
}
#globalmenu ul ul li {
	display: block;
	float: none;
	border-top: 1px solid #ccc;
	height: auto;
	border-right: none;
	width: 100%;
}
#globalmenu ul ul li.gmsub a {padding-right: 20px;}
#globalmenu ul ul li.gmsub li a {padding-right: 0;}
.gmsub a::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f0da";
	position: absolute;
	right: 5px;
    top: 50%;
    margin-top: -12px;
}
.gmsubNone a::after {
	content: "";
	position: static;
	right: 0;
}
#globalmenu ul ul li a {
	height: auto;
	display: block;
	background: #fff;
	/*padding: 12px 4px;*/
	text-align: center;
}
#globalmenu ul ul li a:hover {
	background-color: #ea5420;
}
#globalmenu ul ul ul {
	top: -1px;
	left: 100%;
	position: absolute;
	display: none;
}
#globalmenu ul ul ul li {
	border-top: none;
	border-bottom: 1px solid #fff;
}
#globalmenu ul ul ul a {
	background-color: #999;
    padding: 15px 5px!important;
}
#globalmenu ul ul ul a:hover {
	background-color: #666;
}
#drawernav {
	display: none;
}


/* ------------------------------------------------------- */
/* side menu ------------------------------------------- */
/* ------------------------------------------------------- */

.sideTitle {
	background: #333;
	margin-bottom: 5px;
	padding: 10px 14px 8px 14px;
	color: #fff;
}
.sideTitle::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	margin-right: 10px;
}
.catv .sideTitle::before { content: "\f26c"; }
.internet .sideTitle::before { content: "\f109"; }
.phone .sideTitle::before { content: "\f3cd"; }
.citizen-ch .sideTitle::before { content: "\f519"; }
.plan .sideTitle::before { content: "\f1ec"; }
.sideMenu li {
	border-bottom: 1px dotted #999;
}
.sideMenu li a {
	padding: 8px 5px 8px 15px;
	text-decoration: none;
	color: #000;
	display: block;
	position: relative;
}
.sideMenu li a:hover {
	background: #fafafa;
}
.sideMenu li a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f054";
	position: absolute;
	top: 13px;
	left: 0;
	font-size: 1.2rem;
}

/* ------------------------------------------------------- */
/* スマートフォン用メニュー ---------------------------------- */
/* ------------------------------------------------------- */

@media only screen and (max-width:768px) {
	
	#globalmenu {
		display: none;
	}
	#globalmenu ul {
		width: 100%;
		min-width: 100px;
	}
	#globalmenu ul li a {
		height: 55px;
		font-size: 0.9rem;
	}
	#globalmenu ul li a::before {
		height: 35px;
		font-size: 2.0rem;
	}
	
#page {
	padding-top: 50px;
	position: relative;
	z-index: 999;
	left: 0;
	background: #fff;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}
#drawernav {
	display: block;
	overflow-y: scroll;
	position: fixed;
	top: 0;
	right: -240px;
	width: 240px;
	height: 100%;
	background: #333;
	color: #fff;
	z-index: 995;
	padding-top: 45px;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}
#drawernav ul {
	list-style: none;
	padding: 0;
}
#drawernav ul li {
	border-bottom: 1px solid #666;
}
#drawernav ul li a::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f105";
	padding: 0 5px 0 0;
}
#drawernav ul li a.gmc::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f107";
}
#drawernav ul li ul {
	margin: 0 0 0 20px;
}
#drawernav ul li ul li:last-child {
	border-bottom: none;
}
#drawernav ul li a {
	color: #fff;
	display: block;
	padding: 10px;
	text-decoration: none;
}
#drawernav ul li a:hover {
	background: #999;
}
#drawernav h4 {
	padding: 0 15px;
}
#humberger {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 997;
	cursor: pointer;
	box-sizing: border-box;
	display: none;
	display: block;
	width: 60px;
	border-radius: 0 0 0 5px;
	padding: 5px 2px;
	margin: 0;
	text-align: center;
	font-size: 1.2rem;
	color: #fff;
	background: #333;
}
.drawer-opened #humberger {
    background: #999;
}
.icon-bar {
	height: 2px;
	background: #333;
	display: block;
	margin-bottom: 6px;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}
.humbergerMenu::before {
	content: "MENU";
}
.drawer-opened .humbergerMenu::before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f00d";
}
.fixed-content {
	right: inherit;
	width: 100%;
	z-index: 996;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}
#overlay {
	z-index: -1;
	opacity: 0;
	background: #000;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	position: fixed;
	-webkit-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition: all 400ms cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
	-webkit-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-moz-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	-o-transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000);
	transition-timing-function: cubic-bezier(1.000, 0.000, 0.000, 1.000); /* easeInOutExpo */
}
/**
* ドロワー開放時のスタイル
**/

body.drawer-opened #page {
	left: -240px;
	-webkit-box-shadow: 1px 0 2px #000;
	box-shadow: 1px 0 2px #000;
}
body.drawer-opened .fixed-content {
	left: -240px;
}
body.drawer-opened #drawernav {
	right: 0;
}
#gmenu {
	display: none;
}
#humberger {
	display: block;
}
body.drawer-opened #humberger .icon-bar {
	background: #fff;
}

body.drawer-opened #overlay {
	z-index: 997;
	opacity: 0.3;
	left: -240px;
}

	/*drawer の開閉*/
	#drawernav ul li.menu-item-has-children ul { display: none; }
    #drawernav ul li.menu-item-has-children > a {
        padding-right: 30px;
		position: relative;
    }
	#drawernav ul li.menu-item-has-children > a:after {
		font-family: "Font Awesome 5 Free";
		font-weight: 400;
		content: "\f0fe";
		padding: 0 5px 0 0;
        position: absolute;
		font-size: 2.0rem;
		right: 0;
        top: 7px;
	}
	#drawernav ul li.menu-item-has-children > a.active:after {
		content: "\f146";
	}
}