@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;600;500;700;900&family=Noto+Serif+JP:wght@900&display=swap');
/*   ナビバー   */

.navbar {
	background: var(--page-portal-color);/*#fff*/
}

.logo-area {
	position: absolute;
	top: 0;
	left: 40px;
	z-index: 11000;
	padding: 20px 15px 15px;
	background: #fff;
	border-radius: 0 0 5px 5px;
}

.logo-area a {
	text-align: center;
	font-family: 'Noto sans JP', sans-serif;
	color: #000;
}

.logo-area .logo-home {
	margin-bottom: 10px;
}

.logo-area .tag {
	font-size: 0.6em;
	border-bottom: solid 1px var(--page-portal-color);
	padding-bottom: 6px;
	letter-spacing: 5px;
}

.logo-area a h1  {
	font-size: 1.6em;
	padding-top: 8px;
	padding-bottom: 17px;
	letter-spacing: 3px;
	border-bottom: solid 5px var(--page-portal-color);
}

.logo-area a h1 .br::before {
	content: "\A" ;
	white-space: pre ;
}

.logo-area a:hover {
	text-decoration: none;
}

.navbar-nav {
	display: table;
	table-layout: fixed;
}

.navbar-nav li {
	display: table-cell;
	text-align: center;
}

.navbar .navbar-nav .nav-item .nav-link {
	font-size: 0.9em;
    color: #fff;
	position: relative;
	padding: 1em;
}

.navbar .navbar-nav .nav-item .nav-link {/*縦中央揃え*/
	display: flex;
    justify-content: center;
    align-items: center;
}

.navbar .icon-01, .navbar .icon-02, .navbar .icon-03 {
	font-size: 20px;
	margin-right: 0.3em;
}

/*マウスオーバー*/
.navbar .navbar-nav .nav-item .nav-link{
	position: relative;
}
.navbar .navbar-nav .nav-link:hover {
	color: rgba(255,255,255,0.8);
}
.navbar .navbar-nav .nav-item .nav-link:before{
	content: "";
	position: absolute;
	left: 0;
	bottom: 0px;
	width: 100%;
	height: 2px;
	background: #fff;
	transform: scale(0, 1);
	transition: 0.4s;
}
.navbar .navbar-nav .nav-item .nav-link:hover:before {
	transform: scale(1);
}

/* navbar ハンバーガー四角枠 */
.navbar-light .navbar-toggler {
  border-color: rgba(255, 255, 255, 1.0);
}

/* navbar ハンバーガー三本線 */
.navbar-light .navbar-toggler-icon {
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba(255, 255, 255, 1.0)' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
}









/*================================================
 *  タブレット向けデザイン
 ================================================*/
@media screen and (max-width:991px){
	
.logo-area {
	position: static;
	padding: 5px 15px 0;
	background: rgba(60,60,60,0.0);
}
.logo-area a {
	text-align: left;
	color: #fff;
}
	
.logo-area .logo-home {
	display: none;
}
	
.navbar-nav {
	display: inline;
	table-layout: inline;
	min-width: 100%;
}	
.navbar {
	/*background: #fafafa;*/
}
.navbar-nav li {
	display: inline;
	text-align: left;
}
.logo-area a h1  {
	font-size: 1.2em;
	padding-top: 3px;
	padding-bottom: 6px;
}
.logo-area a h1 .br::before {
	letter-spacing: -5px;
	white-space: normal;
}
.logo-area .tag {
	padding-bottom: 2px;
}
.navbar .nav-item{
	border-left: none;
}	
.navbar .navbar-nav .nav-item {
	border-left: none;
}	
.navbar .navbar-nav .nav-item .nav-link {
    color: #000;
	font-weight: bold;
	background: #fafafa;
}
.navbar .navbar-nav .nav-item .nav-link {
	display: block;
}	
.navbar-nav .icon-01,
.navbar-nav .icon-02,
.navbar-nav .icon-03 {
	margin-right: 0.5em;
}
}
/*================================================
 *  スマートフォン向けデザイン
 ================================================*/

@media screen and (max-width:767px){
.logo-area a h1  {
	font-size: 0.8em;
}
}

@media screen and (max-width:370px){
	
.logo-area  {
	margin-bottom: 0.5em;
}
	
.logo-area .tag {
	font-size: 0.4em;
	border-bottom: solid 2px #589331;
}

.logo-area a h1  {
	font-size: 0.5em;
	padding-top: 3px;
	letter-spacing: 1px;
}
}