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


/* ================= 目次 ======================

　1.  Header
		- 訪問者別ナビ
		- グローバルナビ［PC］
			> ドロップダウン（グローバルナビの親ulにclass="dropdown"）
			> メガドロップダウン（グローバルナビの親ulにclass="megaDropdown"）
		- グローバルナビ［MB］
		- サイド固定ボタン
　2.  Contents（共通箇所）
		- hタグ
		- サイドナビ
		- メインコンテンツ
		- ページトップ
  3.  Footer
		- フッター固定ナビ

============================================= */





/* ----------------------------------------------
  1.  Header
---------------------------------------------- */


@media screen and (max-width: 767px) {
header {
	height: 40px;
}
header > .container img.logo {
	max-height: 50px;
	max-width: 80%;
	vertical-align: middle;
}
}


/*--- 訪問者別ナビ ----------*/

#navVisitor {
	background: #EEE;
}
#navVisitor > ul {
	max-width: 1000px;
	margin: 0 auto;
}
#navVisitor > ul li a {
	display: block;
	float: left;
	width: 14.2857%;
	height: 40px;
	line-height: 40px;
}
#navVisitor > ul li a:before {
	content: "\f0a9";
	font-family: FontAwesome;
	margin: 0 5px;
}
#navVisitor > ul li a:hover {
	background: #E5E5E5;
}
@media screen and (max-width: 767px) {
#navVisitor {
	display: none;
}
}


/*--- グローバルナビ［PC］ ----------*/

#navGlobal {
	background: #DDD;
	z-index: 10000;
}
#navGlobal.fixed {
	position: fixed;
	top: 0;
	width: 100%;
}
#navGlobal > ul {
	max-width: 1000px;
	height: 60px;
	margin: 0 auto;
	*zoom: 1;
}
#navGlobal > ul li {
	float: left;
	width: 12.5%;
	height: 60px;
}
#navGlobal > ul li a {
	display: block;
	background: #DDD;
	height: 60px;
}
#navGlobal > ul li a:before {
	content: "\f0a9";
	font-family: FontAwesome;
	margin: 0 5px;
}
#navGlobal > ul li a:hover {
	background: #D5D5D5;
	-webkit-transition: all .5s;
    transition: all .5s;
}

#navGlobal > ul:before,
#navGlobal > ul:after {
    content: " ";
    display: table;
}
#navGlobal > ul:after {
	clear: both;
}
@media screen and (max-width: 767px) {
#navGlobal {
	display: none;
}
}

/* ドロップダウン（ul class="dropdown"） */
#navGlobal > ul.dropdown > li ul,
#navGlobal > ul.dropdown > li:hover ul {
	top: 60px;
}
#navGlobal > ul.dropdown > li ul li,
#navGlobal > ul.dropdown > li ul li:last-child {
	width: 170%;
	height: 40px;
}
#navGlobal > ul.dropdown > li ul li a,
#navGlobal > ul.dropdown > li ul li:last-child a {
	height: 40px;
	line-height: 40px;
}

/* メガドロップダウン（ul class="megaDropdown"） */
#navGlobal > ul.megaDropdown > li ul,
#navGlobal > ul.megaDropdown > li:hover ul {
	top: 60px;
}


/*--- グローバルナビ［MB］ ----------*/

.hamburgerMenu {
	display: none;
}
@media screen and (max-width: 767px) {
.hamburgerMenu {
	display: block;
}
.drawer-hamburger {
	z-index: 9999;
	width: 25px;
	height: 5px;
	padding: 9px 8px 26px;
	background: #000;
}
.drawer-hamburger:hover {
	background: #000;
}
.drawer--right .drawer-nav {
	right: -70%;
	width: 70%;
}
.drawer--right.drawer-open .drawer-hamburger {
	right: 70%;
}
.drawer-nav,
.drawer-nav a:hover {
	background: #000;
}
.drawer-menu-item {
	padding: 10px;
}
.drawer-menu-item:before {
	content: "\f061";
	font-family: FontAwesome;
	margin-right: 10px;
}

/* CVボタン */
.drawer-menu li.drawerCv > ul {
	margin: 0 2%;
}
.drawer-menu li.drawerCv > ul li {
	text-align: center;
	float: left;
	width: 46%;
	margin: 2%;
	background: #333;
}
.drawer-menu li.drawerCv > ul li a {
	display: block;
	padding: 5% 5%;
}

/* 訪問者別 */
.drawer-dropdown-menu {
	display: none;
	width: 100%;
	background-color: var(--drawer-dropdown-bgColor);
}
.drawer-dropdown a {
	display: block;
	font-weight: bold;
	padding: 10px;
}
.drawer-dropdown > a:after,
.drawer-dropdown.open > a:after {
	font-family: FontAwesome;
	float: right;
}
.drawer-dropdown > a:after {
	content: "\f196";
}
.drawer-dropdown.open > a:after {
	content: "\f147";
}
.drawer-dropdown > ul.drawer-dropdown-menu li a:before {
	content: "\f0da";
	font-family: FontAwesome;
	margin: 10px;
}
.drawer-dropdown > ul.drawer-dropdown-menu {
	transition: .2s ease-in-out;
}
.drawer-dropdown.open > ul.drawer-dropdown-menu {
	display: block;
}
.drawer-dropdown.open > ul.drawer-dropdown-menu > li a {
	padding: 5px;
}
.drawer-dropdown.open > ul.drawer-dropdown-menu > li a:hover {
	color: #FFF;
	text-decoration: none;
}
.drawer-dropdown-menu > li {
	width: 100%;
}
.drawer-dropdown-menu-item {
	line-height: 2.5rem;
	display: block;
	padding-right: calc(--drawer-gutter-x);
	padding-left: calc(--drawer-gutter-x) * 2);
}
.drawer-dropdown-menu-item:hover {
	color: var(--drawer-dropdown-hover-color);
	background-color: var(--drawer-dropdown-hover-bgColor);
}
}



/* ----------------------------------------------
  2.  Contener
---------------------------------------------- */


/*--- サイド固定ボタン ----------*/

#navFixedSide > ul {
	position: fixed;
	top: 180px;
	right: 0px;
	z-index: 10000;
}
#navFixedSide > ul li {
	width: 50px;
}
#navFixedSide > ul li:first-child {
	margin-bottom: 5px;
}
@media screen and (max-width: 767px) {
#navFixedSide {
	display: none;
}
}


/*--- hタグ ----------*/

h1 {
	margin-bottom: 50px;
}
h2 {
	margin-bottom: 30px;
}
h3,
h4 {
	margin-bottom: 20px;
}
h1 {
	font-size: 3.2rem;
}
h2 {
	font-size: 2.6rem;
}
h3 {
	font-size: 2.2rem;
}
h4 {
	font-size: 1.8rem;
}
@media screen and (max-width: 767px) {
h1 {
	margin-bottom: 30px;
}
h2,
h3,
h4 {
	margin-bottom: 20px;
}
h1 {
	font-size: 2.0rem;
}
h2 {
	font-size: 1.8rem;
}
h3 {
	font-size: 1.6rem;
}
h4 {
	font-size: 1.4rem;
}
}


/*--- サイドナビ ----------*/

.layoutL nav#sNav,
.layoutR nav#sNav {
	/*width: 250px;*/
	width: 25%;
	margin-bottom: 50px;
}
.layoutL nav#sNav {
	float: left;
	/*margin-right: 50px;*/
	margin-right: 5%;
}
.layoutR nav#sNav {
	float: right;
	/*margin-left: 50px;*/
	margin-left: 5%;
}
/*nav#sNav > .sNavInner {
	width: 250px;
}*/
nav#sNav > .sNavInner .titSideNav a,
nav#sNav > .sNavInner ul li a {
	display: block;
}
@media screen and (max-width: 767px) {
.layoutL nav#sNav,
.layoutR nav#sNav {
	display: none;
}
}


/*--- メインコンテンツ ----------*/

.layoutL .contents,
.layoutR .contents {
	/*width: 700px;*/
	width: 70%;
	margin-bottom: 50px;
}
.layoutL .contents {
	float: right;
}
.layoutR .contents {
	float: left;
}
@media screen and (max-width: 767px) {
.layoutL .contents,
.layoutR .contents {
	width: 100%;
}
}



/*--- ページトップ ----------*/

#pageTop {
	position: fixed;
	right: 3%;
	bottom: 10%;
	width: 40px;
	height: 40px;
	background: #CCC;
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	/*z-index: 10001;*/
}
#pageTop a {
	position: relative;
	display: inline-block;
	padding-left: 20px;
}
#pageTop a:before {
	content: '';
	width: 15px;
	height: 15px;
	border: 0px;
	border-top: 5px solid #FFF;
	border-right: 5px solid #FFF;
	-ms-transform: rotate(-45deg);
	-webkit-transform: rotate(-45deg);
	transform: rotate(-45deg);
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -2px 2px;
}
#pageTop:hover {
	background: #BBB;
}
@media screen and (max-width: 767px) {
#pageTop {
	right: 2%;
	bottom: 7%;
}
}



/* ----------------------------------------------
  3.  Footer
---------------------------------------------- */


footer {
	height: auto;
	padding: 10px 0 60px;
}
@media screen and (max-width: 767px) {
footer {
	padding-bottom: 50px;
}
}

footer ul.contact li {
	float: left;
	margin-right: 20px;
	display: block;
}
footer ul.contact li:before,
footer ul.contact li a:before {
	font-family: FontAwesome;
	margin-right: 10px;
}
footer ul.contact li.tel a:before {
	content: "\f095";
}
footer ul.contact li.fax:before {
	content: "\f1ac";
}
footer ul.contact li.mail a:before {
	content: "\f0e0";
}

footer small {
	font-size: 1.1rem;
	margin-top: 10px;
	display: block;
}

@media screen and (max-width: 767px) {
footer .container > img.logoF {
	width: 70%;
	margin: 0 15%;
}
footer ul.contact li {
	float: none;
}
footer address,
footer ul.contact li,
footer small {
	text-align: center;
	width: 100%;
}
}


/*--- フッター固定ナビ（PC） ----------*/

footer #fixedFoot {
	position: fixed;
	bottom: 0;
	width: 100%;
	height: 50px;
	background: #DDD;
	z-index: 10000;
}
@media screen and (max-width: 767px) {
footer #fixedFoot {
	display: none;
}
}


/*--- フッター固定ナビ（MB） ----------*/

@media screen and (min-width: 768px) {
footer #navFixedFoot {
	display: none !important;
}
}
@media screen and (max-width: 767px) {
footer #navFixedFoot {
	display: block;
	position: fixed;
	left: 0;
	bottom: 0;
	width: 100%;
	padding: 2% 1%;
	background: rgba(50,50,50,0.2);
	/*z-index: 9999;*/
}
footer #navFixedFoot > ul li {
	display: inline-block;
	width: 48%;
	margin: 0 0.5%;
	background: #FFF;
}
footer #navFixedFoot > ul li a {
	display: block;
}
}