.inner {
    margin: 0 auto;
}
.inner:after {
    content: "";
    clear: both;
    display: block;
}
 
/* Toggle Button */
#nav-toggle {
    display: none;
    position: absolute;
    right: 12px;
    top: 12px;
    width: 34px;
    height: 36px;
    cursor: pointer;
    z-index: 101;
}

/* navbar関係 */
.navbar-nav .nav-link {
	font-size: 1.6rem;
	font-weight: 500;
	font-family: "Zen Maru Gothic", serif;
	padding: 0.5em;
	color: #FFF;
	height: 100%;
}

.navbar-nav .nav-link.active {
	font-weight: 700;
}
.navbar-nav a {
	background: #44AAEF;
	color: #FFF;
}
.navbar-nav .nav-item {
	border-left: 1px  solid rgba(255,255,255,0.60);
}
.navbar-nav .nav-item:first-of-type {
	border-left: none;
}

/* navbar-expand-lg（992px）  */
@media screen and (min-width: 992px) {
	.navbar-nav .nav-item:not(:nth-of-type(4)) {
		max-width: 11.5%;
	}
	.navbar-nav .nav-item:nth-of-type(4) {
		max-width: 19%;
	}
	.navbar-nav .nav-item:last-of-type {
		max-width: 12%;
	}
}

.navbar-nav a:hover {
	background: #EDF7FD;
	color: #44AAEF;
}
.navbar-nav .nav-link.active {
	background: #5EBEFF;
	color: #FFF;
}
.navbar-nav .nav-link.show:hover {
	color: #44AAEF;
}
.navbar-nav .nav-link.show {
	color: #FFF;
}

.navbar-nav .dropdown a.dropdown-toggle {
	padding-right: 20px;
}
.dropdown-item {
	padding: 8px 15px;
}

.dropdown-menu {
	padding: 0;
	border-radius: 0px;
	border: none;
	font-size: 1.4rem;
}

.dropdown-menu {
  opacity: 0;
  transform: translateY(-20px); /* 初期位置を少し上に */
  transition: opacity 0.3s ease-in-out, transform 0.3s ease-in-out;
}

.dropdown-menu.show {
  opacity: 1;
  transform: translateY(0);
}

.dropdown-toggle {
	position: relative;
}
.dropdown-toggle::after {
	position: absolute;
	content: '\f107';
	font-family: 'Font Awesome 6 Pro';
	font-weight: 900;
	margin-left: 0.5rem;
	border: none;
	vertical-align: inherit;
	font-size: 1.2rem;
	line-height: 0em;
	top: 22px;
	padding-left: 2px;
}

.dropdown-menu li {
	position: relative;
	border-bottom: 1px solid #44AAEF;
	min-width: 200px;
}
.dropdown-menu li a {
	background: #EDF7FD;
	color: #44AAEF;
	padding-left: 25px;
	font-weight: 500;
}
.dropdown-menu li:last-of-type {
	border-bottom: none;
}
.dropdown-menu li a:hover {
	background: #FFF;
	color: #44AAEF;
}
.dropdown-menu li::before {
	position: absolute;
	content: '\f105';
	font-family: 'Font Awesome 6 Pro';
	font-weight: 900;
	margin-left: 0.5rem;
	border: none;
	vertical-align: inherit;
	font-size: 1.0rem;
	line-height: 0em;
	top: 50%;
	padding-left: 5px;
	color: #44AAEF;
}

/* offcanvas */
.offcanvas-header-cate {
	align-items: flex-start;
	padding: 20px;
}
.offcanvas-header h5 {
	padding: 1.5em 0 0; 
}
.offcanvas-header-menu {
	justify-content: flex-end;
	padding-top: 1.5em;
}

.offcanvas-header .btn-close {
	margin: 0;
	background-size: 80%;
}

/* 会員ログインボタン
------------------------------------------------------------ */
.sp_nav_lang {
	display: flex;
	justify-content: flex-end;
	list-style: none;
	padding: 10px 10px;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 999;
}
.sp_nav_lang a {
	display: block;
	border: 2px solid #1377BA;
	font-size: 1.7rem;
	padding: 10px 15px;
	line-height: 1;
	background: #1377BA;
	color: #FFF;
	text-decoration: none;
	border-radius: 5px;
	font-weight: 500;
	font-family: "Zen Kaku Gothic Antique", sans-serif;
}
.sp_nav_lang a:hover {
	background: #FFF;
	color: #1377BA;
	text-decoration: none;
}
.sp_nav_lang i {
	padding-right: 10px;
}

/* navbar-expand-lg（991.98px）  */
@media screen and (max-width: 991.98px) {

	.dropdown-toggle::after {
		top: 55%;
		right: 15px;
	}
	
	#mobile-head {
		background: rgba(219,234,242,1.00);
		width: 100%;
		min-height: 98px;
		z-index: 999;
		position: relative;
	}

	.navbar-toggler {
		border: none;
	}
	.navbar-toggler-icon {
		width: 3.5em;
    height: 3.5em;
    border: 1px solid #999;
	}
	.navbar-toggler:focus {
		outline: none;
		box-shadow: none;
	}
	.navbar-nav .nav-item {
		border-left: none;
	}
	.navbar-nav .nav-link {
		font-size: 2.2rem;
		text-align: left;
		border-bottom: 1px solid rgba(255,255,255,0.60);
	}
	.navbar-nav .dropdown-menu {
		margin-top: auto;
	}
	.navbar-nav .nav-link {
		padding: 0.8em 0.5em;
	}
	.dropdown-menu {
		font-size: 1.8rem;
	}
	.dropdown-item {
		padding: 15px;
	}
	.sp_nav_lang {
		position: relative;
		padding: 10px 15px 0;
		top: inherit;
	}
}

@media (max-width: 575.98px) {
	#ocNavbar01 .offcanvas {
		--bs-offcanvas-width: 400px;
	}
}

@media (min-width: 992px) {
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    min-width: 100%; /* ドロップダウンメニューの最小幅を親メニューの幅に合わせる */
		box-shadow: 0px 10px 5px 0px rgba(0, 0, 0, 0.3);
  }
}

