#navigation {
	margin: 0;
	padding: 0;
	font-size: 1.6rem;
	box-sizing: border-box;
}
#navigation ul {
	width: 100%;
	list-style-type: none;
	margin: 0;
	padding: 0;
}
#navigation ul > li {
	width: 100%;
	padding: 0;
	margin: 0;
}
#navigation ul > li a {
	position: relative;
	text-decoration: none;
	display: block;
	padding: 18px 15px;	/*メニュー内の余白 */
	margin: 0 0 7px;
	background: #FFF;
	color: #E85818;
	line-height: 1.1em;
	font-weight: 500;
	border-radius: 5px;
	border: 1px solid #F7B84F;
	transition: .3s cubic-bezier(0.45, 0, 0.55, 1);
}

#navigation ul > li a:hover {
	background: #F39800;
	color: #FFF;
	border: 1px solid #F7B84F;
}
#navigation ul > li a.cur {
  background: #D60051;
	color: #FFF;
	font-weight: 700;
	border: 1px solid rgba(236,143,158,0.50);
}

#navbarNavDropdown li a {
  display: block;
  margin: 0;
  padding: 12px 0 12px;
  font-size: 1.6rem;
  line-height: 1;
  text-decoration: none;
}

#navbarNavDropdown li a:hover {
    color: #FFF;
}
#navbarNavDropdown div.dropdown-menu {
	padding: 0;
}
#navbarNavDropdown div.dropdown-menu > a {
	padding: 13px 15px;
	background-color: darkgray;
	text-align: left;
	font-size: 12px;
	font-weight: normal;
}

#navbarNavDropdown div > a {
	height: 38px;
	border-top: 1px solid #D9D5C8;
}

button.navbar-toggler {
	width: 100%;
	background: #F7BE1E;
	border-radius: 0px;
	border: none;
}

button.navbar-toggler span {
	text-align: left;
	padding: 10px;
	display: block;
	content: '';
	cursor: pointer;
	color: #FFF;
	line-height: 1;
	right: 0;
	font-size: 1.6rem;
}

ul.submenu,
ol.submenu {
  margin: 0 0 2em;
	padding: 10px;
	border: 3px dotted #00AAE8;
}
ul.submenu {
  list-style: none;
}
ol.submenu {
  padding-left: 2em;
	color: #00AAE8;
}
ul.submenu li > a,
ol.submenu li > a {
	display: block;
  position: relative;
  padding: 0.3em 0.2em 0.4em 1.6em;
  margin: 0;
	color: #00AAE8;
	text-decoration: none;
	line-height: 1;
}
ol.submenu li > a {
	padding-left: 0.5em;
}
ul.submenu li > a.pre {
	color: #999;
}

ul.submenu li > a::before {
  position: absolute;
  left: 10px;
  font-family: "Font Awesome 6 Pro";
  font-weight: 900;
  content: '\f0da';
}

ul.submenu li > a:hover,
ol.submenu li > a:hover {
	background: #ECF6FC;
	color: #00AAE8;
}
ul.submenu li > a.pre:hover {
	background: #FFF9;
	color: #999;
	cursor: default;
}
ul.submenu li > ul,
ol.submenu li > ul {
  list-style: none;
}

ul.submenu li > ul li a {
  padding-left: 1em;
}

ul.submenu li > ul li a::before,
ol.submenu li > ul li a::before {
	content: '';
}

/* 表示領域が992px以上の場合に適用するスタイル */
@media screen and (min-width: 992px) {
	#navigation ul > li a {
		box-shadow: 0 0 10px #AFAFAF;
		border: 1px solid #FFF;
	}
}

/* 表示領域が991.98px以下の場合に適用するスタイル */
@media print, screen and (max-width: 991.98px) {
	#navigation ul > li a,
	#navigation ul > li a.cur {
		margin: 0;
		border-top: 1px solid #FFF;
		border-right: none;
		border-left: none;
		border-radius: 0;
	}
	#navigation ul > li a.cur {
		border-top: 1px solid #E4007F;
		border-bottom: 1px solid #E4007F;
	}

	#navigation ul > li:first-child a {
		border-top: 1px solid #FFF;	/*上の線の幅、線種、色*/
	}
}

/* 表示領域が575.98px以下の場合に適用するスタイル */
@media screen and (max-width: 575.98px) {
	ul.submenu {
		flex-direction: column;
	}
	ul.submenu li a {
		width: 100%;
	}
}

ul.topnav {
	overflow: hidden;
	margin: 0 0 1.5em;
	padding: 5px;
	list-style-type: none;
	background: #FFDFF0;
	display: flex;
	gap: 2px;
	flex-wrap: wrap;
}
ul.topnav li {
	position: relative;
}
ul.topnav li {
	border-right: 1px solid #FFF;
}
ul.topnav li a {
	background: #FFF;
	color: #E4007F;
	display: block;
	padding: 8px 20px 10px 32px;
	text-decoration: none;
	line-height: 1;
	font-weight: 400;
	font-size: 1.5rem;
}
ul.topnav li a::before {
	position: absolute;
  left: 10px;
	top: 11px;
  font-family: "Font Awesome 6 Pro";
  content: '\f101';
	font-size: 1.3rem;
}

ul.topnav li a:hover:not(.active) {
	background: #EE86AE;
	color: #FFF;
}
ul.topnav li a.active {
	color: #FFF;
	background: #E4007F;
	cursor: default;
	font-weight: 700;
	font-size: 1.6rem;
}

ul.topnav li a.active::before {
	font-weight: 600;
  content: '\f312';
	color: #EE86AE;
}

.tab-wrap {
  display: flex;
  flex-wrap: wrap;
  margin:20px 0;
	gap: 0 5px;
}
.tab-wrap:after {
  content: '';
  width: 100%;
  height: 3px;
  background: #83C7A5;
  display: block;
  order: -1;
}
.tab-label {
  color: White;
  background: #CFCFCF;
  font-weight: bold;
  text-shadow: 0 -1px 0 rgba(0,0,0,.2);
  white-space: nowrap;
  text-align: center;
  padding: 10px 1em;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  flex: 1;
	font-size: 1.8rem;
	border-radius: 3px 3px 0 0;
}
.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}
/* アクティブなタブ */
.tab-switch:checked+.tab-label {
  background: #83C7A5;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
}
.tab-switch:checked+.tab-label+.tab-content {
  height: auto;
  overflow: auto;
  padding: 15px;
  opacity: 1;
  transition: .5s opacity;
  box-shadow: 0 0 3px rgba(0,0,0,.2);
}
/* ラジオボタン非表示 */
.tab-switch {
  display: none;
}

@media screen and (max-width: 767.98px) {
	ul.topnav {
		flex-direction: column;
	}
	.tab-label {
		font-size: 1.6rem;
	}
}
