p {
	font-size: 18px;
	letter-spacing: 0.05em;
	line-height: 1.7;
}

.inherit {
	color: inherit !important;
}
.current {
	background-color: #aad2f3;
}

article h2 {
	margin-top: 4.0rem;
	margin-bottom: 1.0rem;
}

#footer {
	position: absolute;
  bottom: 0;

  left: 50%;
  transform: translateX(-50%);
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
}


/****** メニュー階層化 ******/
.categories:has(ul)::before {
	margin-right: 0.5rem;
	content: attr(data-item);
}

.toggle-switch {
	display: none;
}
.toggle-switch:has(.current) {
	display: inline;
}

/****** WP-Members Membership ******/
#wpmem_login {
	width: 100%;
}
#wpmem_login fieldset {
	margin-bottom: 10px;
}
.wpmem_msg {
	text-align: left;
	width: 100%;
	padding-left: 10px;
	padding-right: 10px;
	color: red;
}
.wpmem_msg a {
	display: none;
}
#wpmem_login legend {
	display: none;
}
#wpmem_login #log, 
#wpmem_login #pwd {
	border: solid 1px #aaa;
}
#wpmem_login .buttons {
	width: 100%;
	padding: 10px;
	background-color: #aad2f3;
	font-weight: bold;
}

/****** responsive ******/
.for_tablet {
	display: none !important;
}
.for_sp {
	display: none !important;
}
/* 注）ベースはbootstrapのグリッドシステムに合わせている */
@media screen and (max-width: 1400px) /* イレギュラー対応 */
{
}
@media screen and (max-width: 1200px) /* ～Extra Large(.col-xl-) */
{
}
@media screen and (max-width: 1199px) /* ～Large(.col-lg-) */
{
}
@media screen and (max-width: 991px) /* ～Medium(.col-md-) */
{
	.for_large_pc {
		display: none !important;
	}
	.for_tablet {
		display: block !important;
	}
}
@media screen and (max-width: 767px) /* ～Small(.col-sm-) */
{
}
@media screen and (max-width: 660px) /* イレギュラー対応 */
{
}
@media screen and  (max-width: 575px) /* ～Extra small(.col-) */
{
	.for_pc {
		display: none !important;
	}
	.for_sp {
		display: block !important;
	}
}
@media screen and  (max-width: 420px) 
{
}
@media screen and  (max-width: 350px) /* ～iPhone5のための例外処理 */
{
}
