@charset "UTF-8";
/* CSS Document */
@import url("keyframes.css");

/*メインメニュー
---------------------------------------------------------------------------*/

#menubar {
	position: relative;
	z-index: 10;
	text-align: center;
	background-color: transparent;
	font-family: 'Questrial', sans-serif;
	height: 105px;
	transition: background-color 0.3s ease;
}
#menubar.change-color {
	background-color: #FFFFFF!important;
	border-bottom: 1px solid #f0f0f0;
 	box-shadow: 0px 0px 8px 2px #f0f0f0;
}

#menubar ul:hover ul,#menubar:hover{background:#FFFFFF; height: inherit;}

#menubar ul, ul.ddmenu, #menubar-s ul{ list-style-type: none!important;}
#menubar ul.ddmenu a{ color:#666!important; text-align: left;}
#menubar ul.ddmenu a:hover{color: #417794!important;}
#menubar ul.ddmenu a.change-color03 {color:#666!important;}
#menubar ul.ddmenu a.change-color03:hover {color:#417794!important;}
#menubar ul.ddmenu h3{ margin: 0; padding: 0; color:#666; border:none; font-size: 18px;}

#menubar > ul{display: flex; justify-content: center;}
#menubar ul > li {width: 16%; font-size: 20px; text-align: center; position: relative;}
#menubar ul li a {text-decoration: none;display: block;	height: 85px;padding-top: 20px; text-align: center;}
#menubar ul li span {display: block;font-size: 10px;color: #999;letter-spacing: 0.2em; text-align: center;}
#menubar ul li span:nth-child(2){display: none;}
#menubar-s, #menubar-s2 {display: none;}

#menubar_hdr {display: none;}

#menubar a.cursor-default {
	cursor: default;
	color: #999;
}
.badge {
	position:relative;
	display: inline-block;
	top: -48px;
	right: -50px;
	/*background: crimson;*/
	color: white;
	font-size: 14px!important;
	line-height: 1;
	font-weight: normal;
	text-align: center;
}

/* DROPDOWN
----------------------------------------------------------------------------------------------------------------------------------*/
#menubar img{ border-radius: 6px;}


/* dropdown */
#menubar ul.ddmenu{
	position:absolute;
	top:100%;
	left:50%;
	transform:translateX(-50%);
	margin-top:6px;
	padding-top:8px;
	width:360px;
	background:rgba(255,255,255,.96);
	backdrop-filter:blur(18px);
	border:1px solid rgba(16,58,113,.08);
	border-radius:20px;
	box-shadow:
		0 20px 60px rgba(0,0,0,.12),
		0 5px 15px rgba(0,0,0,.05);
	opacity:0;
	visibility:hidden;
	transition:.25s ease;
	display:block;
}

/* hover */
#menubar li:hover > ul.ddmenu{
	opacity:1;
	visibility:visible;
	transform:translateX(-50%) translateY(0);
}

#menubar ul.ddmenu li{
	width:100%;
	margin:0;
}

#menubar ul.ddmenu li a{
	display:flex;
	align-items:center;
	gap:18px;
	padding:16px !important;
	height:auto;
	border-radius:14px;
	text-align:left;
	transition:.25s;
}

#menubar ul.ddmenu li a:hover{
	background:#f7f9fc;
	transform:translateX(4px);
}

#menubar ul.ddmenu i{
	width:42px;
	height:42px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#103A71;
	color:#fff;
	border-radius:12px;
	font-size:18px;
	flex-shrink:0;
}

#menubar ul.ddmenu strong{
	display:block;
	font-size:15px;
	font-weight:600;
	color:#103A71;
	line-height:1.4;
}

#menubar ul.ddmenu span{
	display:block !important;
	margin-top:3px;

	font-size:12px;
	color:#777;

	letter-spacing:0;
	line-height:1.5;
}
#menubar ul.ddmenu.change-color02{
	background: #FFFFFF;
	background: rgba(255,255,255,1);
	border-bottom: 1px solid #fff;
}

#menubar ul.ddmenu li .ddmenu_s_title{margin: 0 0 0 0; font-weight: bold;}/* サービスサブタイトル */
#menubar ul.ddmenu li .ddmenu_s_title::before{ content: "■ ";}



#menubar ul.ddmenu li a:hover {
	opacity: 1;	
}
#menubar ul.ddmenu li:first-child img{width: 400px; height: auto;}
#menubar ul.ddmenu li img{width: 40px; height: auto; margin-right: 12px; vertical-align: middle;}

/* FIXMENU
---------------------------------------------------------------------------*/
body.is-fixed-menu #menubar.nav-fix-pos {
	position: fixed;width: 100%;top: 0px;
	height: 60px;
}
body.is-fixed-menu #contents {
	margin-top: 105px;
}
body.is-fixed #menubar.nav-fix-pos {
	position: fixed;width: 100%;top: 0px;
}
body.is-fixed #contents {
	margin-top: 105px;
}
body.is-fixed-menu #menubar ul li span {
	display: none;
}
body.is-fixed-menu #menubar ul li span.badge {
	display: block;
}
body.is-fixed-menu #menubar ul li a {
	height: 50px;
	padding-top: 10px;
}
body.is-fixed-menu #menubar ul.ddmenu li a {
	padding: 20px;
	height: auto;
}


/*画面幅800px以下の設定
------------------------------------------------------------------------------------------------------------------------------------------------------*/
@media screen and (max-width:800px){
/* MAINMENU
---------------------------------------------------------------------------*/
	#menubar_hdr {
	  position: fixed;
	  top: 10px;
	  right: 10px;
	  width: 40px;
	  height: 40px;
	  background: url(../images/icon_menu.png) no-repeat center / contain;
	  z-index: 1000;
	  cursor: pointer;
	}
	/*#menubar_hdr.open {
	  background: url(../images/icon_close.png) no-repeat center / contain;
	}*/

	#menubar-s {
		display: none;
		position: fixed;
		top: 80px;
		left: 0;
		width: 100%;
		background-color: rgba(32,32,32,0.90);
		z-index: 999;
		transition: max-height 0.3s ease;
		overflow: hidden;
		max-height: 0;
	}
	#menubar-s.open {
		display: block;
		max-height: 1000px;
	}

	#menubar-s li span {
		margin-left: 20px;
		font-size: 80%;
	}
	#menubar-s ul li a {
		display: block;
		text-decoration: none;
		color: #fff;
		padding: 20px 20px 20px 60px;
	}
	#menubar-s ul li{ border-bottom:1px solid #ffffff; padding: 12px;}

	#menubar {display: none;}

	/*
	------------------------------------------------------------------------- */

	/* BAR ICON
	---------------------------------------------------------------------------*/
	#menubar_hdr {
		display: block;
		position: fixed;z-index: 100;
		top: 20px;
		right: 2%;
	}

	#menubar_hdr.close,
	#menubar_hdr.open {
		width: 50px;
		height: 50px;
		border: 1px solid #4c4c4c;
		border-radius: 4px;
	}
	/* BAR ICON*/
	#menubar_hdr.close {
		background: rgba(32,32,32,0.80) url(../images/icon_menu.png) no-repeat center top/50px;
	}
	/* CLOSE ICON*/
	#menubar_hdr.open {
		background: rgba(32,32,32,0.80) url(../images/icon_menu.png) no-repeat center bottom/50px;
	}
}