@charset "UTF-8";

/* googleのWEBフォントインポート */
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@300;400;500;700;900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');


/*========= ナビゲーションドロップダウンのためのCSS ===============*/

/*==ナビゲーション全体の設定*/
nav.menuArea{
	font-family: "Zen Maru Gothic", serif;
	font-size: 93.779%;
	position: relative;
	background: inherit;
	color: #000000;
	text-align: center;
	z-index: 99999;
	max-width: 1160px;		/* 項目間の空きの最大をデザインに合わせるための設定
							   （項目間の空きの設定自体は↓の「justify-content: space-around;」）*/	
}
/*ナビゲーションを横並びに*/
nav.menuArea ul{
	display: flex;
	justify-content: space-between;
	margin: 0;
	padding: 0;
	list-style: none;
}

/*2階層目以降は横並びにしない*/
nav.menuArea ul ul{
	display: block;
}

/*下の階層のulや矢印の基点にするためliにrelativeを指定*/
nav.menuArea ul li{
	position: relative;
	margin: 0;
	padding: 0;
}

nav.menuArea > ul > li{
	border-right: 1px solid #000000;
}

nav.menuArea > ul > li:nth-child(1){
	flex-grow: 3;
}
nav.menuArea > ul > li:nth-child(2){
	flex-grow: 4;
}
nav.menuArea > ul > li:nth-child(3){
	flex-grow: 8;
}
nav.menuArea > ul > li:nth-child(4){
	flex-grow: 6;
}
nav.menuArea > ul > li:nth-child(5){
	flex-grow: 5;
}
nav.menuArea > ul > li:nth-child(6){
	flex-grow: 5;
}

nav.menuArea > ul > li:nth-child(6){
	border: none;
}


nav.menuArea > ul > li > a > span{
	position: relative;

	padding: 0 0 0 1.5em;
}

/*ナビゲーションのリンク設定*/
nav.menuArea ul li a{
	display: block;
	width: 100%;
	height: 100%;
	text-decoration: none;
	color: #000000;	
	padding: 0.4em 1em 0.5em 1em;
	transition:all .3s;
}

nav.menuArea ul li a:link{
	color:#000000;
	text-decoration: none;
}
nav.menuArea ul li a:visited{
	color:#000000;
	text-decoration: none;
}
nav.menuArea ul li a:hover{
	background: #FFFFCC;
	color:#000000;
	text-decoration: none;
}

nav.menuArea ul li a > span{
	position: relative;
	padding: 0 0 0 1.5em;
}

nav.menuArea ul li a > span img{
	position: absolute;
	width: 1.2em;
	height: auto;
	vertical-align: baseline;
	top: 50%;
	left: 0%;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
}

nav.menuArea ul li a > span.Ssize img{
	width: 1.1em;
}

nav.menuArea ul li a:hover > span img{
	opacity: 1.0;
}

nav.menuArea > ul ul{
	border: 1px solid #FFFFFF;
}

nav.menuArea > ul > li{
/*	border-right: 1px solid #999999;*/
}
nav.menuArea > ul > li:first-child{
/*	border-left: 1px solid #999999;*/
}

nav.menuArea > ul > li > a{
	font-weight: 500;
}

/*お問い合わせ*/
.navInquiry{
	display: block;
	background: #00A74D;
	color: #FFFFFF;
	margin: 0 0 0 1em;
	padding: calc(0.5em + 5px) 2em;
}
.navInquiry:link{
	color: #FFFFFF;
	text-decoration: none;
}
.navInquiry:visited{
	color: #FFFFFF;
	text-decoration: none;
}
.navInquiry:hover{
	color: #FFFFFF;
	text-decoration: none;
}


nav.menuArea ul li li a{
	padding:0.5em 1.75em;
}

nav.menuArea ul li a:hover{
	color:#000000;	
}

/*==矢印の設定*/

/*2階層目を持つliの矢印の設定*/
nav.menuArea ul li.has-child::before{	/* 直接付ける */
	position: absolute;
	
	color: #FFFFFF;
	font-size:0.6em;

	font: var(--fa-font-solid);
	content: '\f0d7';
	
	right: 0.6em;
	top: 50%;
	transform: translate(0, -50%);
	line-height: 0;
}

/*== 2・3階層目の共通設定 */

/*下の階層を持っているulの指定*/
nav.menuArea li.has-child ul{
    /*絶対配置で位置を指定*/
	position: absolute;
	left:0;
	top: 2.9em;
	z-index: 4;
    /*形状を指定*/
	background:#FFFFFF;
	width: 15em;
    /*はじめは非表示*/
	visibility: hidden;
	opacity: 0;
    /*アニメーション設定*/
	transition: all .3s;
}

/*hoverしたら表示*/
nav.menuArea li.has-child:hover > ul,
nav.menuArea li.has-child ul li:hover > ul,
nav.menuArea li.has-child:active > ul,
nav.menuArea li.has-child ul li:active > ul{
	visibility: visible;
	opacity: 1;
}

/*ナビゲーションaタグの形状*/
nav.menuArea li.has-child ul li a{
	color: #fff;
	border-bottom:solid 1px rgba(255,255,255,0.6);
}

nav.menuArea li.has-child ul li:last-child a{
	border-bottom:none;
}

nav.menuArea li.has-child ul li a:link,
nav.menuArea li.has-child ul li a:visited{
	color: #333333;
	border-bottom: 1px solid #CCCCCC;
	border-left: 1px solid #CCCCCC;
	border-right:  1px solid #CCCCCC;
}
nav.menuArea li.has-child ul li:last-child a:link,
nav.menuArea li.has-child ul li:last-child a:visited{
/*	border-bottom: none;*/
}
nav.menuArea li.has-child ul li a:hover,
nav.menuArea li.has-child ul li a:active{
	color: #FFFFFF;
	border-bottom: 1px solid #CCCCCC;
	border-left: 1px solid #CCCCCC;
	border-right:  1px solid #CCCCCC;
	background:#0055BB;
}

/*==3階層目*/

/*3階層目の位置*/
nav.menuArea li.has-child ul ul{
	top:-1px;
	left: calc(19em - 2px);
	background:#11a478;
}

nav.menuArea li.has-child ul ul li a:hover,
nav.menuArea li.has-child ul ul li a:active{
	background:#448ED3;
}


@media screen and (max-width:767px){

	/*★固定値にしないとAndroidで開閉時や初期表示で文字サイズが不安定になるエラー*/

	nav.menuArea{
		width: 100%;
		padding: 0;
		font-size: 32px;
		
	}
	
	nav.menuArea ul{
		display: block;
		font-family: "Zen Maru Gothic", serif;
	}
	nav.menuArea li.has-child ul,
	nav.menuArea li.has-child ul ul{
		position: relative;
		left:0;
		top:0;
		width:100%;
		visibility:visible;/*JSで制御するため一旦表示*/
		opacity:1;/*JSで制御するため一旦表示*/
		display: none;/*JSのslidetoggleで表示させるため非表示に*/
		transition:none;/*JSで制御するためCSSのアニメーションを切る*/
	}
	
	nav.menuArea > ul ul{
		border: none;
	}
	
	nav.menuArea > ul > li{
		border-right: none;
	}
	nav.menuArea > ul > li:first-child{
		border-left: none;
	}
	
	nav.menuArea > ul ul li:last-child{
		border-bottom:solid 1px rgba(255,255,255,0.6);
	}

	/*==矢印の設定*/

	/*2階層目を持つliの矢印の設定*/
	nav.menuArea ul li.has-child::before{
		display: none;
	}
	nav.menuArea ul li.has-child > a:first-child{
		position: relative;
	}
	nav.menuArea ul li.has-child > a:first-child::before{
		position: absolute;

		color: #FFFFFF;
		font-size:0.6em;

		font: var(--fa-font-solid);
		content: '\f0d7';

		right: 0.6em;
		top: 50%;
		transform: translate(0, -50%);
		line-height: 0;

	}
	
	.smmOrange{
		background: #fe9420;
	}
	nav.menuArea ul li a.smmOrange:link,
	nav.menuArea ul li a.smmOrange:visited,
	nav.menuArea ul li a.smmOrange:hover {
		color: #FFFFFF;
	}
	.smmBlue{
		background: #0055BB;
	}
	nav.menuArea ul li a.smmBlue:link,
	nav.menuArea ul li a.smmBlue:visited,
	nav.menuArea ul li a.smmBlue:hover {
		color: #FFFFFF;
	}
	.smmGreen{
		background: #37ba78;
	}
	nav.menuArea ul li a.smmGreen:link,
	nav.menuArea ul li a.smmGreen:visited,
	nav.menuArea ul li a.smmGreen:hover {
		color: #FFFFFF;
	}
	.smmViolet{
		background: #c66ae0;
	}
	nav.menuArea ul li a.smmViolet:link,
	nav.menuArea ul li a.smmViolet:visited,
	nav.menuArea ul li a.smmViolet:hover {
		color: #FFFFFF;
	}

	nav.menuArea li.has-child ul li a:hover,
	nav.menuArea li.has-child ul li a:active{
		color: #333333;
		background:#FFFFFF;
	}

	/*3階層目を持つliの矢印の設定*/
/*	nav.menuArea ul ul li.has-child::before{
		content:'';
		position: absolute;
		left: 0.75em;
		top: calc(1em + 2px);
		width: 12px;
		height: 12px;
		border-top: 4px solid #fff;
		border-right: 4px solid #fff;
		transform: rotate(45deg);
	}*/

	/*3階層目を持つliの矢印の設定*/
/*	nav.menuArea ul ul li.has-child::before{
		top: 1em;
	}*/
	
	/*お問い合わせ*/
	.navInquiry{
		margin: 0 0 0 0;
	}
	
	nav.menuArea ul li a{
		border-bottom:1px solid #000000;
	}
	nav.menuArea ul li:last-child a{
		border-bottom: none;
	}
/*	nav.menuArea ul li a:hover{
		background: #FFFFFF;
		color: #0055BB;
	}*/


	nav.menuArea ul li > a:first-child:hover{
/*		background: #37ba78;
		color: #FFFFFF;*/
	}

	/*矢印の位置と向き*/

	nav.menuArea ul li.has-child.active > a:first-child::before{
		content: '\f0d8';
	}

/*	nav.menuArea ul li.has-child::before{
	left:1em;	
	}

	nav.menuArea ul ul li.has-child::before{
	    transform: rotate(135deg);
		left:1em;
	}
    
	nav.menuArea ul li.has-child.active::before{
	    transform: rotate(-45deg);
	}*/

}


@media print {
	nav.menuArea{
		font-size: 5px;
	}
}