/* Final migration fixes that must win over broad legacy selectors. */

.post-card .post-card__title {
	position: static;
	margin: 0 0 .4rem;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: #2f2930;
	font-size: 1.2rem;
	line-height: 1.5;
}

/* Remelabo filtered search and mobile drawer (final overrides). */
.remelabo-filter-search{display:grid;grid-template-columns:minmax(14rem,2fr) repeat(3,minmax(9rem,1fr)) auto;gap:.65rem;align-items:end;padding:1rem;background:#fff;color:#222}
.remelabo-filter-search__field{display:grid;gap:.3rem;min-width:0;font-size:.82rem;font-weight:700}
.remelabo-filter-search input,.remelabo-filter-search select{width:100%;min-height:42px;padding:.55rem .65rem;border:1px solid #d6d6dc;background:#fff;color:#222}
.remelabo-filter-search__actions{display:flex;align-items:center;gap:.75rem;min-height:42px}
.remelabo-filter-search__submit{min-height:42px;padding:.55rem 1rem;border:0;background:linear-gradient(90deg,#ec4098,#7444e8);color:#fff;font-weight:700;cursor:pointer;white-space:nowrap}
.remelabo-filter-search__reset{color:#3b3b45!important;font-size:.82rem;font-weight:700;text-decoration:underline}
.header-search-panel{position:absolute;z-index:10020;top:100%;right:0;width:min(94vw,980px);box-shadow:0 10px 24px rgba(0,0,0,.28)}
.remelabo-search-results-filter{margin:0 0 1rem;border:1px solid #ddd}
.remelabo-mobile-drawer,.remelabo-drawer-overlay{display:none}
@media(max-width:959px){
	.site-header__inner{position:relative!important}
	.site-header__inner #logo{position:absolute!important;z-index:3;top:50%!important;left:50%!important;right:auto!important;width:min(58vw,240px)!important;margin:0!important;transform:translate(-50%,-50%)!important;text-align:center!important}
	.site-header__inner #logo .custom-logo-link,.site-header__inner #logo .remelabo-legacy-logo{display:flex!important;justify-content:center;width:100%}
	.site-header__inner #logo img{display:block;max-width:100%!important;margin:0 auto!important}
	.header-search-panel{position:fixed;top:64px;right:3vw;left:3vw;width:94vw;max-height:calc(100vh - 76px);overflow:auto}
	.remelabo-filter-search{grid-template-columns:1fr 1fr}
	.remelabo-filter-search__field--keyword,.remelabo-filter-search__actions{grid-column:1/-1}
	.remelabo-drawer-overlay{display:block;position:fixed;z-index:10030;inset:0;background:rgba(0,0,0,.58);opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}
	.remelabo-mobile-drawer{display:block;position:fixed;z-index:10040;top:0;bottom:0;left:0;width:min(86vw,360px);padding:4.25rem 1.25rem 2rem;overflow-y:auto;transform:translateX(-105%);transition:transform .22s ease;background:#111;color:#fff;box-shadow:8px 0 28px rgba(0,0,0,.35)}
	body.nav-open{overflow:hidden}body.nav-open .remelabo-drawer-overlay{opacity:1;visibility:visible}body.nav-open .remelabo-mobile-drawer{transform:translateX(0)}
	body.nav-open .newlabel{visibility:hidden!important}
	.remelabo-mobile-drawer__close{position:absolute;top:.7rem;right:.9rem;width:44px;height:44px;border:0;background:transparent;color:#fff;font-size:2.2rem;line-height:1}
	.remelabo-mobile-drawer__section{margin-bottom:1.5rem}.remelabo-mobile-drawer__section h2{margin:0 0 .55rem;padding:.55rem .7rem;border-left:4px solid #f03b91;background:linear-gradient(90deg,rgba(240,59,145,.3),rgba(116,68,232,.18));color:#fff;font-size:1.05rem}
	.remelabo-mobile-drawer__section ul{margin:0;padding:0;columns:1;column-gap:0;list-style:none}.remelabo-mobile-drawer__section li{display:block;break-inside:avoid;width:100%;margin:0;border-bottom:1px solid rgba(255,255,255,.11);color:#d8d8dd}.remelabo-mobile-drawer__section a{display:block;padding:.65rem .35rem;color:#fff;text-decoration:none;line-height:1.4;word-break:normal;overflow-wrap:anywhere}.remelabo-mobile-drawer__section a:hover,.remelabo-mobile-drawer__section a:focus{background:rgba(116,68,232,.24);color:#fff}
}

/* Slightly enlarge the centered logo on mobile without changing its alignment. */
@media(max-width:599px){
    .site-header__inner #logo{width:min(61vw,250px)!important}
}

/*
 * Grid-card terms: archive and tag pages can have more / longer badges than
 * the home page.  Make their term area a single constrained column so no
 * category or tag badge can expand into its neighbouring card.
 */
.home-post-grid .grid_post-box .post-meta-all{
    grid-template-columns:minmax(0,1fr)!important;
    grid-template-rows:auto auto 1fr auto!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
}
.home-post-grid .grid_post-box .remelabo-grid-card__terms{
    display:grid!important;
    grid-template-columns:minmax(0,1fr)!important;
    grid-column:1!important;
    grid-auto-flow:row!important;
    gap:4px!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
}
.home-post-grid .grid_post-box .remelabo-grid-card__terms .post-cat,
.home-post-grid .grid_post-box .remelabo-grid-card__terms .post-tag{
    box-sizing:border-box!important;
    min-width:0!important;
    max-width:100%!important;
}
.home-post-grid .grid_post-box .remelabo-grid-card__terms > *{
    min-inline-size:0!important;
    max-inline-size:100%!important;
}
.home-post-grid .grid_post-box .remelabo-grid-card__terms .post-cat{
    display:block!important;
    width:fit-content!important;
}
.home-post-grid .grid_post-box .remelabo-grid-card__terms .post-tag{
    display:flex!important;
    flex-wrap:wrap!important;
    gap:3px!important;
    width:100%!important;
}
.home-post-grid .grid_post-box .remelabo-grid-card__terms .post-cat a,
.home-post-grid .grid_post-box .remelabo-grid-card__terms .post-tag a{
    box-sizing:border-box!important;
    max-width:100%!important;
    margin:0!important;
    white-space:normal!important;
    overflow-wrap:anywhere!important;
    word-break:break-word!important;
}
@media(max-width:560px){.remelabo-filter-search{grid-template-columns:1fr;padding:.8rem}.remelabo-filter-search__field,.remelabo-filter-search__field--keyword,.remelabo-filter-search__actions{grid-column:1}.remelabo-filter-search__actions{justify-content:space-between}}

.post-card .post-card__title::before,
.post-card .post-card__title::after {
	display: none;
	content: none;
}

.post-card .post-card__title a {
	color: inherit;
}

.post-card .post-card__body {
	color: #2f2930;
}

.post-card .post-card__meta {
	color: #8b838a;
}

#container,
#header,
#main-wrap,
.l-main-container,
.site-content,
.big-footer,
.site-footer {
	max-width: 100%;
}

.big-footer__inner {
	align-items: start;
}

.archive-main {
	align-self: stretch;
}

#bigfooter .big-footer__inner {
	gap: 0;
	padding-block: 0;
	background: #fff;
	color: #333;
	text-align: left;
}

#bigfooter {
	background: #fff !important;
	color: #333 !important;
}

#bigfooter a {
	color: #5c5969 !important;
}

#bigfooter .big-footer__column {
	min-width: 0;
	padding: 25px 10px !important;
	text-align: left;
}

#bigfooter .bigfooter_colomn,
#bigfooter .big-footer__column {
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	float: none !important;
	clear: none !important;
}

#bigfooter .big-footer__column .widget {
	margin: 0;
	padding: 5px;
	background: transparent;
}

#bigfooter .big-footer__column .widget,
#bigfooter .big-footer__column .textwidget,
#bigfooter .big-footer__column form,
#bigfooter .big-footer__column ul,
#bigfooter .big-footer__column .diver_widget_profile,
#bigfooter .big-footer__column .img_meta,
#bigfooter .big-footer__column .meta {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
}


#bigfooter .search-form {
	position: relative;
	display: flex;
	width: 100%;
	height: 41px;
}

#bigfooter .search-form > label {
	display: block;
	min-width: 0;
	flex: 1 1 auto;
}


#bigfooter .search-form .search-field{
	box-sizing: border-box;
	width: 100% !important;
	height: 41px;
	padding: 8px 10px;
	border: 1px solid #ddd;
	border-radius: 2px 0 0 2px;
	background: #fff;
}


#bigfooter .search-form .search-submit{
	position: relative;
	flex: 0 0 45px;
	width: 45px !important;
	height: 41px;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: #3c74ad !important;
	color: #fff !important;
	font-size: 0;
}


#bigfooter .search-form .search-submit::before{
	content: "";
	font-family: FontAwesome;
	font-size: 17px;
}

#bigfooter .diver_widget_profile .coverimg,
#bigfooter .diver_widget_profile .img_meta {
	text-align: center;
}

#bigfooter .diver_widget_profile .coverimg {
	display: block !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	flex: 0 0 160px !important;
	width: 160px !important;
	min-width: 160px !important;
	max-width: 160px !important;
	height: 160px !important;
	min-height: 160px !important;
	max-height: 160px !important;
	aspect-ratio: 1 / 1 !important;
	margin: 0 auto 10px !important;
	padding: 0 !important;
	border: 5px solid #fff !important;
	border-radius: 50% !important;
}

#bigfooter .diver_widget_profile .coverimg img {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	max-height: 100% !important;
	aspect-ratio: 1 / 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	object-fit: cover !important;
	object-position: center !important;
}

#bigfooter .diver_widget_profile .name,
#bigfooter .diver_widget_profile .profile_sns {
	text-align: center;
}

#bigfooter .diver_widget_profile .name {
	font-size: 17px;
	font-weight: 700;
}

#bigfooter .big-footer__column,
#bigfooter .big-footer__column * {
	word-break: normal;
}

#bigfooter .big-footer__column a,
#bigfooter .big-footer__column .meta {
	overflow-wrap: anywhere;
}

#bigfooter .big-footer__column .footer_title {
	margin: 0 0 5px;
	padding: 5px;
	background: transparent;
	color: #333;
	font-size: 1rem;
	font-weight: 700;
	text-align: left;
}

#bigfooter .big-footer__column li {
	margin: 0;
	padding: 5px;
	line-height: 1.6;
}

#bigfooter .big-footer__column li::before {
	content: none;
}

#bigfooter .big-footer__column a {
	font-size: 13px;
}

.big-footer__column .widgettitle,
.big-footer__column .widget-title {
	background: transparent !important;
	color: #333 !important;
	text-align: left;
}

#header .site-header__inner {
	min-height: 82px;
}

#header .site-branding .custom-logo,
#header .site-branding .custom-logo-link img {
	max-height: 72px;
}

#scrollnav {
	display: none;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden;
	background: rgba(12, 12, 12, .35) !important;
}

#scrollnav > div,
#scrollnav #scroll-menu {
	width: 100%;
}

#scrollnav #scroll-menu {
	display: flex !important;
	align-items: stretch;
	margin: 0;
	padding: 0;
}

#scrollnav #scroll-menu > li {
	display: block;
	min-width: 0;
	flex: 1 1 0;
	margin: 0;
	padding: 0;
}

#scrollnav #scroll-menu > li > a {
	display: flex;
	min-height: 30px;
	align-items: center;
	justify-content: center;
	margin: 0 1px 0 0;
	padding: 6px 8px;
	background: rgba(255, 255, 255, .8) !important;
	color: #505050 !important;
	font-size: 11px;
	font-weight: 700;
	line-height: 1.6;
	text-align: center;
}

#scrollnav #scroll-menu > li:last-child > a {
	margin-right: 0;
}

#scrollnav #scroll-menu .menu_desc,
#scrollnav #scroll-menu .sub-menu {
	display: none !important;
}

#header.is-fixed {
	position: fixed;
	z-index: 99997;
	top: 0;
	right: 0;
	left: 0;
	width: 100%;
	background: rgba(12, 12, 12, .82);
	box-shadow: 0 3px 12px rgba(0, 0, 0, .22);
}

#header.is-fixed .mini-navigation,
#header.is-fixed #scrollnav {
	display: none !important;
}

#header.is-fixed .site-header {
	border-bottom: 0;
	background: rgba(12, 12, 12, .82) !important;
}

#header.is-fixed .site-header__inner {
	min-height: 72px;
}

#header.is-fixed .site-branding .custom-logo,
#header.is-fixed .site-branding .custom-logo-link img {
	max-height: 55px;
}

.admin-bar #header.is-fixed {
	top: 32px;
}

@media (min-width: 601px) and (max-width: 959px) {
	#bigfooter .big-footer__inner {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 959px) {
	.home-site-shell {
		width: calc(100% - 10px) !important;
	}

	#header .site-header__inner,
	#header.is-fixed .site-header__inner {
		min-height: 65px;
	}

	#header .site-branding .custom-logo,
	#header .site-branding .custom-logo-link img,
	#header.is-fixed .site-branding .custom-logo,
	#header.is-fixed .site-branding .custom-logo-link img {
		max-height: 55px;
	}

	#header .menu-toggle,
	#header .search-toggle {
		top: 50%;
		width: 44px;
		height: 44px;
		border: 0;
		transform: translateY(calc(-50% - 2px));
	}


	#header .menu-toggle__bars {
		width: 26px;
	}

	#header .menu-toggle__bars i {
		height: 2px;
		margin: 4px 0;
	}

	#header .search-toggle {
		font-size: 19px;
	}

	#header .site-branding {
		transform: translateY(-2px);
	}

	#scrollnav {
		display: block;
	}

	#header.is-fixed .primary-navigation {
		display: none;
	}

	.nav-open #header.is-fixed .primary-navigation {
		display: block;
	}
}

@media (max-width: 782px) {
	.admin-bar #header.is-fixed {
		top: 46px;
	}
}

@media (max-width: 600px) {
	.post-card .post-card__title {
		font-size: .95rem;
	}

	#bigfooter .big-footer__column {
		padding: 5px !important;
	}
}

/* 0.2.4: production-aligned header geometry and desktop canvas. */
.mini-navigation {
	width: 100% !important;
	min-height: 0;
	margin: 0 !important;
	background: rgba(0, 0, 0, .85) !important;
}

.header_small_content {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	width: 96%;
	min-height: 25px;
	margin: 0 auto;
}

.header-description {
	min-width: 0;
	padding: 3px 0;
	font-size: 12px;
	line-height: 1.5;
	white-space: nowrap;
}

.desc-sp {
	display: none;
}

.header_small_content > nav {
	flex: 0 0 auto;
	margin-left: auto;
}

.header_small_content > nav a {
	padding: 3px 9px;
	font-size: 12px;
	line-height: 1.5;
	white-space: nowrap;
}

.header_small_content > nav a::before {
	margin-right: 5px;
	content: "▸";
	font-size: 9px;
}

@media (min-width: 960px) {
	/* Saved widths come from theme-settings CSS; only remove legacy max-width caps. */
	.site-shell,
	.container-widget,
	.big-footer__inner,
	.site-footer__inner {
		max-width: none !important;
	}

	#header:not(.is-fixed) .site-header {
		border: 0 !important;
		border-image: none !important;
		background-color: rgba(9, 8, 10, .42) !important;
	}

	#header:not(.is-fixed) .site-header__inner {
		position: relative;
		max-width: none !important;
		display: flex;
		align-items: center;
		justify-content: flex-start;
		flex-wrap: wrap;
		gap: 0;
		min-height: 65px;
	}

	#header:not(.is-fixed) .site-branding {
		flex: 0 1 390px;
		min-height: 65px;
		display: flex;
		align-items: center;
	}

	#header:not(.is-fixed) .site-branding .custom-logo,
	#header:not(.is-fixed) .site-branding .custom-logo-link img {
		max-height: 55px;
	}

	#header:not(.is-fixed) .primary-navigation {
		position: relative;
		order: 10;
		flex: 0 0 100vw;
		width: 100vw;
		max-width: none;
		margin-right: calc(50% - 50vw);
		margin-left: calc(50% - 50vw);
		background: #0c0c0c;
	}

	#header:not(.is-fixed) .primary-navigation::after {
		display: none;
		content: none;
	}

	#header:not(.is-fixed) .primary-navigation > ul {
		justify-content: center;
		min-height: 60px;
	}

	#header:not(.is-fixed) .primary-navigation > ul > li > a {
		min-width: 140px;
		padding: 12px 18px 10px;
		font-size: 14px;
		line-height: 1;
	}

	.primary-navigation > ul > li {
		position: relative;
	}

	.primary-navigation ul ul {
		position: absolute;
		z-index: 999;
		top: 100%;
		left: 0;
		display: table !important;
		min-width: 172px;
		margin: 0;
		padding: 0;
		background: #0c0c0c;
		visibility: hidden;
		opacity: 0;
		transform: translateY(10px);
		transition: opacity .2s ease, transform .2s ease, visibility .2s ease;
	}

	.primary-navigation ul ul li {
		position: relative;
		display: block;
		float: none;
		width: 100%;
	}

	.primary-navigation ul ul a {
		display: inline-block;
		width: 100%;
		min-width: 172px;
		padding: 1em;
		font-size: .9em;
		line-height: 1;
		text-align: center;
		white-space: nowrap;
	}

	.primary-navigation ul ul ul {
		top: 0;
		left: 100%;
	}

	.primary-navigation li:hover > ul,
	.primary-navigation li:focus-within > ul {
		visibility: visible;
		opacity: 1;
		transform: translateY(0);
	}

	.primary-navigation > ul > li:hover > a,
	.primary-navigation > ul > li:focus-within > a {
		background: #553bc4;
		color: #fff;
	}

	.primary-navigation .menu_title,
	.primary-navigation .menu_desc {
		display: block;
	}

	.primary-navigation .menu_desc {
		margin-top: 5px;
		color: rgba(255, 255, 255, .45);
		font-size: 10px;
		font-weight: 700;
		line-height: 1;
	}

	#header:not(.is-fixed) .header-utility {
		position: absolute;
		z-index: 2;
		top: 10px;
		right: 0;
		display: flex;
		align-items: center;
		min-height: 44px;
	}

	.header-utility .nav_inleft,
	.header-utility .widget {
		margin: 0;
		padding: 0;
	}

	.header-utility a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 0 18px;
		background: #fff;
		color: #222 !important;
		font-size: 12px;
		font-weight: 700;
		text-decoration: none;
	}

	#header.is-fixed .site-header__inner {
		display: flex;
		max-width: none !important;
		align-items: center;
		justify-content: flex-start;
		flex-wrap: nowrap;
		gap: 0;
		min-height: 65px;
	}

	#header.is-fixed .primary-navigation {
		position: static;
		display: block;
		flex: 0 1 auto;
		width: auto;
		margin-left: auto;
		background: transparent;
	}

	#header.is-fixed .primary-navigation::after,
	#header.is-fixed .header-utility {
		display: none;
	}

	#header.is-fixed .primary-navigation > ul {
		justify-content: flex-end;
		min-height: 65px;
	}

	#header.is-fixed .primary-navigation > ul > li > a {
		min-width: 105px;
		padding: 16px 12px;
		font-size: 13px;
		line-height: 1;
	}
}

@media (max-width: 959px) {
	.header_small_content {
		width: 96%;
	}

	.header_small_content > nav {
		display: none;
	}

	.header-description {
		overflow: hidden;
		width: 100%;
		text-align: center;
		text-overflow: ellipsis;
	}

	#header .menu-toggle {
		left: 15px;
		display: block;
		width: 30px;
		height: 30px;
		padding: 0;
		border: 0;
		background: transparent;
		color: #fff;
		transform: translateY(-50%);
	}

	#header .menu-toggle::before,
	#header .menu-toggle::after {
		position: absolute;
		right: 3px;
		left: 3px;
		display: block;
		width: 24px;
		height: 0;
		border: 0;
		content: "";
	}

	#header .menu-toggle::before {
		top: 5px;
		border-top: 2.4px solid currentColor;
	}

	#header .menu-toggle::after {
		bottom: 5px;
		border-bottom: 2.4px solid currentColor;
	}

	#header .menu-toggle > .menu-toggle__bars {
		position: absolute;
		top: 50%;
		left: 3px;
		display: block;
		width: 24px;
		height: 3px;
		margin: 0;
		background: currentColor;
		transform: translateY(-50%);
	}

	#header .menu-toggle > .menu-toggle__bars i {
		display: none;
	}
}

.diver_popular_posts .remelabo-popular-empty::before {
	display: none !important;
	content: none !important;
}

.diver_popular_posts .remelabo-popular-empty {
	margin: 0 !important;
	padding: 10px !important;
}

/* Single posts retain the former DIVER three-part layout:
 * campaign shelf + article + 300px sidebar. */
body.single-post #main-wrap {
	margin-bottom: 20px;
}

body.single-post #content_area {
	display: block;
	width: 100%;
}

body.single-post #content_area > article.hentry,
body.single-post #content_area > .remelabo-article-after {
	box-sizing: border-box;
	min-width: 0;
	width: 100%;
}

body.single-post #content_area > article.hentry {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
	background-color: var(--remelabo-surface, #fff);
	color: #0a0a0a;
}

body.single-post .remelabo-article-after > * {
	box-sizing: border-box;
	min-width: 0;
	max-width: 100%;
}

@media (min-width: 1320px) {
	body.single-post #content_area {
		display: grid;
		grid-template-columns: 112px minmax(0, 1fr);
		grid-template-rows: auto auto;
		align-items: start;
		gap: 10px;
	}

	body.single-post #content_area > #share_plz.remerabo-campaign-side-wrap {
		grid-column: 1;
		grid-row: 1 / span 2;
	}

	body.single-post #content_area > article.hentry {
		grid-column: 2;
		grid-row: 1;
	}

	body.single-post #content_area > .remelabo-article-after {
		grid-column: 2;
		grid-row: 2;
	}
}

body.single-post #content_area > article.hentry > .entry-header,
body.single-post #content_area > article.hentry > .single-post-main,
body.single-post #content_area > article.hentry > .entry-footer {
	background-color: var(--remelabo-surface, #fff);
}

body.single-post .entry-header {
	margin: 0;
}

body.single-post .hentry .post-meta {
	display: inline-block;
	width: 100%;
	margin: 0;
	padding: 16px 20px;
}

body.single-post .post-meta .cat-tag {
	margin: 0;
}

body.single-post h1.single-post-title {
	margin: 10px 0 6px;
	padding: 0;
	border: 0;
	background: transparent;
	box-shadow: none;
	color: inherit;
	font-size: 1.6em;
	font-weight: 600;
	line-height: 1.5;
}

body.single-post h1.single-post-title::before,
body.single-post h1.single-post-title::after {
	display: none;
	content: none;
}

body.single-post .hentry .post-meta-bottom {
	display: flex;
	align-items: center;
	float: left;
	margin: 0 0 12px;
	font-size: .85em;
}

body.single-post .single_thumbnail {
	position: relative;
	z-index: 0;
	overflow: hidden;
	width: 100%;
	margin: 0;
	padding: 23px 0 0;
	background-color: transparent;
	background-position: center;
	background-repeat: repeat;
	background-size: 100% auto;
	text-align: center;
}

body.single-post .single_thumbnail picture {
	position: relative;
	z-index: 1;
	max-width: 100%;
}

body.single-post .single_thumbnail img {
	display: block;
	width: auto;
	max-width: 100%;
	height: auto;
	max-height: 500px;
	margin: 0 auto;
	object-fit: contain;
}

body.single-post .single-post-main {
	margin: 0 0 -60px;
	padding: 16px 40px;
}

body.single-post .single-post-main .content {
	position: relative;
	width: 100%;
	max-width: 1400px;
	margin: 0 auto;
	padding-right: 32px;
	padding-left: 32px;
	font-size: 17px;
	line-height: 1.8;
}

@media (min-width: 960px) {
	body.single-post .l-main-container {
		display: flex;
		align-items: flex-start;
		grid-template-columns: none;
		gap: 20px;
		width: 100%;
	}

	body.single-post #single-main {
		width: auto !important;
		max-width: none;
		min-width: 0;
		flex: 1 1 0%;
	}

	body.single-post #sidebar {
		width: 300px !important;
		min-width: 300px;
		flex: 0 0 300px;
	}
}

@media (max-width: 1200px) {
	body.single-post .single-post-main {
		padding: 15px;
	}
}

@media (max-width: 768px) {
	body.single-post #main-wrap {
		margin-top: 5px;
		margin-bottom: 5px;
	}

	body.single-post .hentry .post-meta {
		padding: 10px;
	}

	body.single-post h1.single-post-title {
		margin: 5px 0;
		font-size: 1.2em;
		line-height: 1.3;
	}

	body.single-post .single_thumbnail {
		padding-top: 0;
	}

	body.single-post .single-post-main {
		overflow: hidden;
		margin-bottom: 0;
		padding: 10px;
	}

	body.single-post .single-post-main .content {
		padding-right: 0;
		padding-left: 0;
		font-size: 14px;
	}
}

@media (max-width: 600px) {
	.desc-pc {
		display: none;
	}

	.desc-sp {
		display: inline;
	}
}

/* The site header itself has no gradient border. The navigation stripe is a
 * separate element and must not become a second line at narrow widths. */
.site-header {
	border-image: none !important;
	border-image-source: none !important;
}

/* DIVER-compatible breadcrumb hierarchy and separators. Keep every template
 * on the same light box so archive, tag, page, and single views stay legible. */
#breadcrumb.breadcrumbs {
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	margin: 0 0 10px;
	padding: 10px 20px;
	border: 1px solid rgba(0, 0, 0, .08);
	border-radius: 0;
	background: #fff !important;
	box-shadow: 0 0 2px rgba(150, 150, 150, .1);
	color: #222 !important;
	font-size: .8em;
	line-height: 1.5;
}

#breadcrumb.breadcrumbs a,
#breadcrumb.breadcrumbs span,
#breadcrumb.breadcrumbs i {
	color: #222 !important;
}

#breadcrumb.breadcrumbs ul {
	display: flex;
	overflow: hidden;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
	white-space: nowrap;
}

#breadcrumb.breadcrumbs li {
	display: flex;
	min-width: 0;
	align-items: center;
	margin: 0;
	padding: 0;
	list-style: none;
}

#breadcrumb.breadcrumbs li:not(:first-child)::before {
	position: relative;
	top: 1px;
	flex: 0 0 auto;
	margin: 0 .6rem;
	color: #888 !important;
	content: "";
	font-family: FontAwesome;
}

#breadcrumb.breadcrumbs li:last-child span[aria-current="page"] {
	overflow: hidden;
	display: block;
	text-overflow: ellipsis;
}

@media (max-width: 767px) {
	#breadcrumb.breadcrumbs li:not(:last-child) {
		flex: 0 0 auto;
		min-width: max-content;
	}

	#breadcrumb.breadcrumbs li:last-child {
		overflow: hidden;
		flex: 1 1 0;
		min-width: 0;
	}

	#breadcrumb.breadcrumbs li:last-child span[aria-current="page"] {
		overflow: hidden;
		width: 100%;
		min-width: 0;
		text-overflow: ellipsis;
		white-space: nowrap;
	}
}

#breadcrumb.breadcrumbs meta {
	display: none;
}

/* Single-post H2: no corner marker, with the former DIVER bottom gradient. */
body.single-post .single-post-main .remelabo-entry-content h2 {
	position: relative !important;
	margin: 0 -32px 19px !important;
	padding: 14px 19px 13px 30px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(80, 52, 69, .18) !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #2f2330;
	font-size: 1.12em;
	font-weight: 800;
	line-height: 1.65;
}

body.single-post .single-post-main .remelabo-entry-content h2::before {
	display: none !important;
	width: 0 !important;
	height: 0 !important;
	border: 0 !important;
	background: none !important;
	content: none !important;
	transform: none !important;
}

body.single-post .single-post-main .remelabo-entry-content h2::after,
body.page:not(.remerabo-tag-guide-page) .remelabo-entry-content h2::after {
	position: absolute !important;
	right: 0 !important;
	bottom: -1px !important;
	left: 0 !important;
	display: block !important;
	width: auto !important;
	height: 3px !important;
	border: 0 !important;
	background: linear-gradient(90deg, #e36aa0 0%, #c94884 36%, #9b3d73 68%, #5c294f 100%) !important;
	content: "" !important;
	transform: none !important;
}

/* Fixed-page H2: retain only the pink upper corner and gradient underline. */
body.page:not(.remerabo-tag-guide-page) .remelabo-entry-content h2 {
	position: relative !important;
	margin: 0 0 1em !important;
	padding: 14px 30px 13px !important;
	border: 0 !important;
	border-bottom: 1px solid rgba(80, 52, 69, .18) !important;
	background: transparent !important;
	box-shadow: none !important;
	color: #28222b;
	font-size: 1.05em;
	font-weight: 800;
	line-height: 1.6;
}

body.page:not(.remerabo-tag-guide-page) .remelabo-entry-content h2::before {
	position: absolute !important;
	top: 0 !important;
	right: auto !important;
	bottom: auto !important;
	left: 0 !important;
	display: block !important;
	width: 24px !important;
	height: 24px !important;
	border: 0 !important;
	background: linear-gradient(135deg, #ff4f9a 0 50%, transparent 50% 100%) !important;
	content: "" !important;
	transform: none !important;
}

/* Keep the footer category/tag chips on the same wrapping row. */
body.single-post .cat-tag {
	display: flex !important;
	flex-wrap: wrap;
	align-items: center;
}

body.single-post .cat-tag > .entry-categories,
body.single-post .cat-tag > .entry-tags {
	display: inline-flex !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.single-post .cat-tag > .entry-categories > a,
body.single-post .cat-tag > .entry-tags > a {
	display: inline-flex !important;
	align-items: center;
	margin: 0 !important;
	font-weight: 700;
	text-decoration: none !important;
}


@media (max-width: 768px) {
	#breadcrumb.breadcrumbs {
		padding: 5px 10px;
		font-size: .7em;
	}

	body.single-post .single-post-main .remelabo-entry-content h2 {
		margin-right: 0 !important;
		margin-left: 0 !important;
		padding: 12px 14px 11px !important;
	}

	body.page:not(.remerabo-tag-guide-page) .remelabo-entry-content h2 {
		padding: 12px 18px 11px 24px !important;
	}
}

/* Production custom-CSS compatibility retained in the independent theme. */
#single-main .post-sub,
.navigation,
.single_thumbnail,
.in_loop,
.maintop-widget,
.mainbottom-widget,
#share_plz,
.catpage_content_wrap,
.cat-post-main {
	background-color: transparent;
}

.home-post-grid .grid_post-box {
	padding: 4px !important;
}

@media (max-width: 768px) {
	.home-post-grid .grid_post-box {
		padding: 2px !important;
	}
}

.wrap-grid-post-box.home-post-grid,
.wrap-grid-post-box.home-post-grid .grid_post-box {
	background: transparent !important;
}

.wrap-grid-post-box.home-post-grid .post-box-contents,
.remelabo-taxonomy-grid .post-box-contents {
	background: #fff !important;
}

/* DIVER-compatible widget headings: one gradient surface with an inset dash. */
#sidebar .widget > .widgettitle,
#sidebar .widget > .widget-title,
#single-main .single-related-area > .single_title,
#single-main .single-recommend-area > .single_title {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 10px !important;
	padding: 12px 16px !important;
	border: 2px solid #111 !important;
	outline: 1px dashed rgba(255, 255, 255, .9);
	outline-offset: -6px;
	background: linear-gradient(90deg, #ff78b0 0%, #ff2e79 46%, #d50072 100%) !important;
	box-shadow: 0 1px 0 rgba(255, 255, 255, .14) inset, 0 -1px 0 rgba(0, 0, 0, .25) inset !important;
	color: #fff !important;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.45;
}

/* Popular posts retain the legacy DIVER triangle ranking, while the text and
 * taxonomy metadata use the independent theme's compact dark presentation. */
.diver_popular_posts {
	margin: 0;
	padding: 0;
	counter-reset: dpp-ranking;
	background: #000;
	color: #eee;
}

.diver_popular_posts > li.widget_post_list {
	position: relative;
	overflow: hidden;
	float: none;
	clear: both;
	width: 100%;
	min-height: 126px;
	border-bottom: 1px solid rgba(255, 255, 255, .08);
	background: #000;
	list-style: none;
}

.diver_popular_posts > li.widget_post_list > a,
#sidebar .diver_popular_posts > li.widget_post_list > a {
	display: flow-root;
	min-height: 126px;
	margin-left: 0 !important;
	padding: 8px !important;
	background: transparent;
	color: #eee !important;
	text-decoration: none;
}

.diver_popular_posts > li.widget_post_list::before {
	position: absolute;
	z-index: 2;
	top: 8px;
	left: 8px;
	width: 0;
	height: 0;
	margin: 0;
	border: 0;
	border-bottom: 2em solid transparent;
	border-left: 2em solid #fff;
	color: transparent;
	font-size: 16px;
	line-height: 1;
	text-shadow: none;
	content: "";
	counter-increment: none;
}

.diver_popular_posts > li.widget_post_list::after {
	position: absolute;
	z-index: 3;
	top: 6px;
	left: 4px;
	display: block;
	width: 1em;
	color: #333;
	font-size: 1.3em;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	text-shadow: none;
	content: counter(dpp-ranking, decimal);
	counter-increment: dpp-ranking;
	transform: rotate(-45deg);
}

.diver_popular_posts > li.widget_post_list:nth-child(1)::after {
	color: rgb(255, 210, 0);
}

.diver_popular_posts > li.widget_post_list:nth-child(2)::after {
	color: #aaa;
}

.diver_popular_posts > li.widget_post_list:nth-child(3)::after {
	color: rgba(238, 105, 25, .95);
}

.diver_popular_posts .post_list_thumb {
	position: relative;
	overflow: hidden;
	float: left;
	margin: 0;
	background: #1b1b1b;
}

.diver_popular_posts .post_list_thumb img {
	position: absolute;
	top: 0;
	right: 0;
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
}

.diver_popular_posts .post_list_thumb .post_list_cat {
	position: absolute;
	right: 0;
	bottom: 0;
	z-index: 1;
	max-width: 90%;
	padding: 3px 7px;
	border-radius: 3px 0 0;
	background: rgba(48, 48, 48, .94);
	color: #fff;
	font-size: 10px;
	font-weight: 600;
	line-height: 1.2;
	white-space: nowrap;
	text-overflow: ellipsis;
}

.diver_popular_posts .meta {
	overflow: hidden;
	min-height: 110px;
	color: #eee;
}

.diver_popular_posts .post_list_title {
	margin: 0 0 8px;
	color: #f5f5f5 !important;
	font-size: 14px !important;
	font-weight: 700;
	line-height: 1.45;
	text-shadow: 0 1px 2px rgba(0, 0, 0, .65);
}

.diver_popular_posts .post_list_tag {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	color: #ddd;
	font-size: 10px !important;
	font-weight: 600;
	line-height: 1.2 !important;
}

.diver_popular_posts .post_list_tag .tag,
.diver_popular_posts .post_list_tag .post_list_cat {
	display: inline-block;
	margin: 0 !important;
	padding: 2px 5px !important;
	border: 1px solid #555 !important;
	border-radius: 2px !important;
	background: #111 !important;
	color: #ddd !important;
	font-size: 10px !important;
	font-weight: 600;
	line-height: 1.2 !important;
}

.diver_popular_posts .post_list_views {
	margin-top: 7px;
	color: #aaa !important;
	font-size: 11px !important;
	font-weight: 600;
}

.diver_popular_posts > li.widget_post_list > a:hover {
	background: rgba(255, 255, 255, .035);
	opacity: 1;
}

@media (max-width: 599px) {
	.diver_popular_posts > li.widget_post_list,
	.diver_popular_posts > li.widget_post_list > a {
		min-height: 96px;
	}

	.diver_popular_posts .post_list_thumb {
		max-width: 42vw;
	}

	.diver_popular_posts .meta {
		min-height: 80px;
	}

	.diver_popular_posts .post_list_title {
		font-size: 12px !important;
	}
}

/* Article and archive spacing requested during the final parity pass. */
body.single-post #main-wrap {
	margin-top: 0;
}

.site-content {
	padding-block: .55rem;
}

body.single-post #single-main article.hentry,
body.single-post #single-main .single-post-main,
body.single-post #single-main .remelabo-entry-content {
	background: #fff;
}

/* A term has one surface only. The explicit icon replaces DIVER's competing
 * pseudo-element, which produced the duplicated mini badge. */
body.single-post .cat-tag > .entry-categories::before,
body.single-post .cat-tag > .entry-categories::after,
body.single-post .cat-tag > .entry-tags::before,
body.single-post .cat-tag > .entry-tags::after,
body.single-post .cat-tag > .entry-categories > a::before,
body.single-post .cat-tag > .entry-categories > a::after,
body.single-post .cat-tag > .entry-tags > a::before,
body.single-post .cat-tag > .entry-tags > a::after {
	display: none !important;
	content: none !important;
}


body.single-post .cat-tag .remelabo-term-icon {
	color: #a8c4cc;
	font-size: 12px;
}

/* Restore the article review animation after the old child theme is removed. */
body.single-post .review-gauge {
	position: relative !important;
	display: block !important;
	box-sizing: border-box !important;
	overflow: hidden !important;
	width: min(260px, 100%) !important;
	height: 14px !important;
	visibility: visible !important;
	min-height: 14px !important;
	margin: 8px auto !important;
	background: #222 !important;
}

body.single-post .review-gauge-bar {
	position: relative !important;
	display: block !important;
	height: 100% !important;
	visibility: visible !important;
	min-height: 14px !important;
	background: linear-gradient(90deg, #7816ff, #ff1d83, #ff3434) !important;
	opacity: 1 !important;
	transform: scaleX(0) !important;
	transform-origin: left center !important;
	transition: transform 1.2s ease-out !important;
	animation: none !important;
	will-change: transform;
}

body.single-post .review-gauge-bar.is-visible,
body.single-post .review-gauge-bar.show {
	opacity: 1 !important;
	transform: scaleX(1) !important;
	transform-origin: left center !important;
	transition: transform 1.2s ease-out !important;
	animation: none !important;
}

body.single-post .review-mini-score {
	position: static !important;
	display: inline-block !important;
	float: none !important;
	clip: auto !important;
	overflow: visible !important;
	width: auto !important;
	min-width: 3em !important;
	text-indent: 0 !important;
	white-space: nowrap !important;
}

body.single-post a.aep-link[href]:not([href=""]):not([href="#"]) {
	pointer-events: auto !important;
	opacity: 1 !important;
}

body.single-post a.aep-link.dlsite[href]:not([href=""]):not([href="#"]) {
	background: #278fe9 !important;
	color: #fff !important;
}

body.single-post a.aep-link.fanza[href]:not([href=""]):not([href="#"]) {
	background: #ff4a12 !important;
	color: #fff !important;
}

body.single-post a.aep-link.hbox[href]:not([href=""]):not([href="#"]) {
	background: #777 !important;
	color: #fff !important;
}

/* Generic article H4 used by the review summary blocks. */
body.single-post .remelabo-entry-content h4:not(.review-good):not(.review-bad) {
	position: relative !important;
	margin: 1.8em 0 .9em !important;
	padding: 11px 32px 15px !important;
	border: 0 !important;
	background: repeating-linear-gradient(-45deg, #fff 0, #fff 4px, #f4f4f4 4px, #f4f4f4 8px) !important;
	box-shadow: none !important;
	color: #222 !important;
	font-size: 1.1em !important;
	font-weight: 800;
	line-height: 1.5 !important;
}

body.single-post .remelabo-entry-content h4:not(.review-good):not(.review-bad)::before {
	display: none !important;
	content: none !important;
}

body.single-post .remelabo-entry-content h4:not(.review-good):not(.review-bad)::after {
	position: absolute !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	display: block !important;
	height: 3px !important;
	background: linear-gradient(90deg, #3b89ff, #a843ff 42%, #ff4e97 72%, #f0bb4d) !important;
	content: "" !important;
}

/* Remelabo Core owns related-post component layout; the Theme supplies its palette only. */
:root {
	--remelabo-related-card-surface: #fff;
	--remelabo-related-card-text: #222;
	--remelabo-related-grid-thumb-surface: #eee;
	--remelabo-related-list-thumb-surface: #f0edf1;
	--remelabo-related-muted: #756d74;
	--remelabo-related-accent: #d9488b;
	--remelabo-related-border: #e8e8e8;
	--remelabo-related-item-border: #eee;
	--remelabo-related-heading: #6687af;
	--remelabo-related-link: #242033;
	--remelabo-related-auto-thumb-surface: #eee;
	--remelabo-related-auto-muted: #8890a0;
}

/* Navigation thumbnail reset remains Theme-owned; navigation markup is generated by the Theme. */

/* Previous and next posts return to the two-column thumbnail cards. */
.remelabo-post-navigation {
	display: block !important;
	clear: both;
	overflow: hidden;
	width: 100%;
	margin: 12px 0 !important;
	padding: 0 !important;
	background: #fff !important;
}

.remelabo-post-navigation .remelabo-nav-cards {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
}

.remelabo-post-navigation .remelabo-nav-card {
	display: block !important;
	float: none !important;
	overflow: hidden !important;
	min-width: 0;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #d8d3d8 !important;
	background: #fff !important;
	list-style: none !important;
	direction: ltr !important;
	text-orientation: mixed !important;
	writing-mode: horizontal-tb !important;
}

.remelabo-post-navigation .remelabo-nav-card.is-next {
	border-left: 0 !important;
}

.remelabo-post-navigation .remelabo-nav-card.is-empty {
	min-height: 94px;
}

.remelabo-post-navigation .remelabo-nav-card__link {
	display: grid !important;
	grid-template-columns: 28px 110px minmax(0, 1fr);
	align-items: center;
	gap: 10px;
	box-sizing: border-box;
	width: 100% !important;
	max-width: none !important;
	height: 94px !important;
	max-height: 94px !important;
	min-height: 94px;
	margin: 0 !important;
	padding: 8px !important;
	border: 0 !important;
	background: #fff !important;
	color: #242033 !important;
	text-decoration: none !important;
	direction: ltr !important;
	text-orientation: mixed !important;
	writing-mode: horizontal-tb !important;
}

.remelabo-post-navigation .remelabo-nav-card.is-next .remelabo-nav-card__link {
	grid-template-columns: minmax(0, 1fr) 110px 28px;
	text-align: right;
}

.remelabo-post-navigation .remelabo-nav-card__arrow {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 28px !important;
	height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #315f91 !important;
	font-family: Arial, sans-serif !important;
	font-size: 32px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	text-decoration: none !important;
}

.remelabo-post-navigation .remelabo-nav-card__thumb {
	position: relative !important;
	display: block !important;
	float: none !important;
	overflow: hidden !important;
	box-sizing: border-box !important;
	width: 110px !important;
	min-width: 110px !important;
	max-width: 110px !important;
	height: 70px !important;
	min-height: 70px !important;
	max-height: 70px !important;
	margin: 0 !important;
	padding: 0 !important;
	background: #eee;
}

.remelabo-post-navigation .remelabo-nav-card__thumb img {
	position: static !important;
	top: auto !important;
	right: auto !important;
	bottom: auto !important;
	left: auto !important;
	display: block !important;
	float: none !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	max-height: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	object-fit: cover !important;
}

.remelabo-post-navigation .remelabo-nav-card__title {
	position: static !important;
	display: block !important;
	float: none !important;
	min-width: 0;
	width: 100% !important;
	max-width: none !important;
	height: auto !important;
	max-height: none !important;
	margin: 0 !important;
	padding: 8px 10px !important;
	background: transparent !important;
	color: #242033 !important;
	font-size: 13px;
	font-weight: 700;
	line-height: 1.5;
	direction: ltr !important;
	text-orientation: mixed !important;
	white-space: normal !important;
	word-break: normal !important;
	overflow-wrap: anywhere !important;
	line-break: auto !important;
	unicode-bidi: normal !important;
	transform: none !important;
	writing-mode: horizontal-tb !important;
}

/* Keep the native comment-form heading readable on the white article surface. */
body.single-post #comments #reply-title.comment-reply-title,
body.single-post #respond #reply-title.comment-reply-title {
	color: #242033 !important;
	text-shadow: none !important;
}

body.single-post #respond #reply-title.comment-reply-title a {
	color: #315f91 !important;
}

/* Saved operator profile instance at the end of a post. */
.remelabo-article-profile {
	box-sizing: border-box;
	overflow: hidden;
	width: 100%;
	margin: 12px 0;
	padding: 0 14px 18px;
	background: #fff;
	color: #222;
}

.remelabo-article-profile > .single_title {
	margin: 0 -14px 14px !important;
	padding: 12px 16px !important;
	border: 2px solid #111 !important;
	outline: 1px dashed rgba(255, 255, 255, .9);
	outline-offset: -6px;
	background: linear-gradient(90deg, #ff78b0, #ff2e79 46%, #d50072) !important;
	color: #fff !important;
}

.remelabo-article-profile .coverimg {
	display: block !important;
	float: none !important;
	box-sizing: border-box !important;
	overflow: hidden;
	width: 160px !important;
	min-width: 160px !important;
	max-width: 160px !important;
	height: 160px !important;
	min-height: 160px !important;
	max-height: 160px !important;
	aspect-ratio: 1 / 1;
	margin: 0 auto 10px;
	border: 5px solid #fff;
	padding: 0 !important;
	border-radius: 999px !important;
	background-position: center !important;
	background-size: cover !important;
}

.remelabo-article-profile .coverimg img {
	display: block !important;
	box-sizing: border-box !important;
	width: 100% !important;
	min-width: 100% !important;
	max-width: 100% !important;
	height: 100% !important;
	min-height: 100% !important;
	max-height: 100% !important;
	aspect-ratio: 1 / 1;
	margin: 0 !important;
	border: 0 !important;
	border-radius: 999px !important;
	object-fit: cover !important;
	object-position: center !important;
}

.remelabo-article-profile .diver_widget_profile,
.remelabo-article-profile .img_meta,
.remelabo-article-profile .name,
.remelabo-article-profile .meta,
.remelabo-article-profile .textwidget,
.remelabo-article-profile p,
.remelabo-article-profile li {
	color: #222 !important;
}

.remelabo-article-profile .diver_widget_profile {
	display: block !important;
	float: none !important;
	clear: both !important;
	width: 100% !important;
	margin: 0 !important;
	text-align: center !important;
}

.remelabo-article-profile .img_meta,
.remelabo-article-profile .name {
	display: block !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	text-align: center !important;
}

.remelabo-article-profile .profile_sns {
	display: flex !important;
	float: none !important;
	clear: both !important;
	justify-content: center !important;
	gap: 8px;
	margin: 8px auto 0 !important;
	padding: 0 !important;
}

.remelabo-article-profile .meta {
	display: block !important;
	float: none !important;
	clear: both !important;
	box-sizing: border-box !important;
	width: calc(100% - 32px) !important;
	max-width: 760px !important;
	margin: 28px auto 0 !important;
	padding: 18px 20px !important;
	border: 1px solid #ddd;
	text-align: left !important;
}

.remelabo-article-profile a {
	color: #1e73be !important;
}

/* The migrated overseas guide templates are full-width pages. */
.remelabo-guide-container {
	display: block !important;
	width: 100% !important;
}

.remelabo-guide-main {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
}

@media (max-width: 700px) {
	.remelabo-post-navigation {
		background: transparent !important;
	}

	.remelabo-post-navigation .remelabo-nav-cards {
		grid-template-columns: minmax(0, 1fr);
		gap: 6px;
	}

	.remelabo-post-navigation .remelabo-nav-card.is-next {
		border-left: 1px solid #d8d3d8 !important;
	}

	.remelabo-post-navigation .remelabo-nav-card.is-empty {
		display: none !important;
	}

	.remelabo-post-navigation .remelabo-nav-card__link,
	.remelabo-post-navigation .remelabo-nav-card.is-next .remelabo-nav-card__link {
		gap: 6px;
		height: 78px !important;
		min-height: 78px;
		max-height: 78px !important;
	}

	.remelabo-post-navigation .remelabo-nav-card__link {
		grid-template-columns: 22px 76px minmax(0, 1fr);
	}

	.remelabo-post-navigation .remelabo-nav-card.is-next .remelabo-nav-card__link {
		grid-template-columns: minmax(0, 1fr) 76px 22px;
	}

	.remelabo-post-navigation .remelabo-nav-card__arrow {
		width: 22px !important;
		font-size: 27px !important;
	}

	.remelabo-post-navigation .remelabo-nav-card__thumb {
		width: 76px !important;
		min-width: 76px !important;
		max-width: 76px !important;
		height: 54px !important;
		min-height: 54px !important;
		max-height: 54px !important;
	}

	.remelabo-post-navigation .remelabo-nav-card__title {
		padding: 5px !important;
		font-size: 12px;
		line-height: 1.4;
	}
}


/* 0.2.30: compact, square article-top category/tag badges. */
body.single-post .cat-tag{
  gap:4px!important;
  margin-block:5px!important;
}
body.single-post .cat-tag > .entry-categories > a,
body.single-post .cat-tag > .entry-tags > a{
  min-height:22px!important;
  padding:2px 7px!important;
  border-radius:0!important;
  font-size:10px!important;
  line-height:1.25!important;
  box-shadow:none!important;
}
body.single-post .cat-tag > .entry-categories > a{
  border:1px solid color-mix(in srgb,var(--remelabo-term-color,#f23a87) 68%,#555)!important;
}
body.single-post .cat-tag > .entry-tags > a{
  gap:0!important;
  border:1px solid #555760!important;
}
body.single-post .cat-tag .remelabo-term-icon{
  display:none!important;
}

/* 0.2.32: sharper article badges and headings. Keep legacy resets scoped to direct article children. */


body.single-post .single-post-main .remelabo-entry-content > h3 {
  position:relative!important;
  margin:1.7em 0 .85em!important;
  padding:9px 0 8px!important;
  border:0!important;
  border-bottom:2px solid #2d2e34!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#202027!important;
  font-size:1.08em!important;
  font-weight:800!important;
  line-height:1.55!important;
}


/* 0.2.33: sharpen article heading hierarchy. */
body.single-post .single-post-main .remelabo-entry-content > h2::after {
  background:#202126!important;
}

body.single-post .single-post-main .remelabo-entry-content > h3 {
  border-bottom-color:#202126!important;
}


body.single-post .single-post-main .remelabo-entry-content > h3::after {
  display:none!important;
  width:0!important;
  height:0!important;
  border:0!important;
  background:none!important;
  content:none!important;
  transform:none!important;
}


/* 0.2.34: robust H3 marker and sharper article-end profile. */
body.single-post .single-post-main .remelabo-entry-content h3::before {
  position:static!important;
  display:inline!important;
  width:auto!important;
  height:auto!important;
  margin:0 8px 0 0!important;
  border:0!important;
  border-radius:0!important;
  background:none!important;
  color:#74777f!important;
  content:"●"!important;
  font-family:inherit!important;
  font-size:.46em!important;
  font-weight:400!important;
  line-height:1!important;
  vertical-align:.2em!important;
  transform:none!important;
}

.remelabo-article-profile .meta {
  border-color:#cfd1d6!important;
  border-radius:0!important;
  background:#f6f6f7!important;
  box-shadow:none!important;
}


/* 0.2.36: keep the profile heading clearly below the connected article-end block. */
body.single-post .remelabo-article-after{
  box-sizing:border-box!important;
  clear:both!important;
  padding-top:24px!important;
}
body.single-post .remelabo-article-profile{
  clear:both!important;
  margin-top:0!important;
}
body.single-post .remelabo-article-profile>.single_title{
  margin-top:0!important;
}

/* Review Core only needs to expose state; Theme owns the surrounding post/profile layout. */
body.single-post.remelabo-review-article-active .remelabo-article-after{
  position:relative!important;
  z-index:0!important;
}
body.single-post.remelabo-review-article-active .remelabo-article-profile{
  position:relative!important;
  z-index:1!important;
  margin-top:18px!important;
}

/* 0.2.75: keep legacy article-end CTA elements clear of the profile on desktop.
 * Mobile already has enough separation, so preserve its current spacing. */
@media (min-width:701px){
  body.single-post:not(.remelabo-review-article-active) .remelabo-article-profile{
    margin-top:18px!important;
  }
}

/* 0.2.38: extend direct article H3 rules to the same visual width as H2. */
body.single-post .single-post-main .remelabo-entry-content > h3{
  margin-right:-32px!important;
  margin-left:-32px!important;
  padding-right:32px!important;
  padding-left:32px!important;
}
@media(max-width:768px){
  body.single-post .single-post-main .remelabo-entry-content > h3{
    margin-right:0!important;
    margin-left:0!important;
    padding-right:14px!important;
    padding-left:14px!important;
  }
}

/* 0.2.39: brighten article-top category chips and soften tag chips. */
body.single-post .cat-tag > .entry-categories > a,
body.single-post .cat-tag > .entry-categories > a[href*="/category/voice/"]{
  border-color:#ff7288!important;
  background:#ef3f5f!important;
  color:#fff!important;
}
body.single-post .cat-tag > .entry-categories > a:hover,
body.single-post .cat-tag > .entry-categories > a[href*="/category/voice/"]:hover{
  border-color:#ff91a2!important;
  background:#f65370!important;
}
body.single-post .cat-tag > .entry-tags > a{
  border-color:#777a84!important;
  background:#565961!important;
  color:#f5f5f6!important;
}
body.single-post .cat-tag > .entry-tags > a:hover{
  border-color:#92959f!important;
  background:#666a73!important;
}

/* 0.2.43: sharpen legacy DIVER strategy memo frames. */
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue{
  margin:1.5em 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame{
  overflow:visible!important;
  margin:0!important;
  padding:14px 16px!important;
  border:1px solid #202126!important;
  border-radius:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#303136!important;
}
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title{
  position:static!important;
  display:block!important;
  float:none!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 12px!important;
  padding:0 0 8px!important;
  border:0!important;
  border-bottom:2px solid #202126!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#17181b!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1.5!important;
}
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title::before,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title::after{
  display:none!important;
  content:none!important;
}
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h1,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h2,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h3,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h4,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h5{
  position:static!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:inherit!important;
  font:inherit!important;
  line-height:inherit!important;
}
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h1::before,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h1::after,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h2::before,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h2::after,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h3::before,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h3::after,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h4::before,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h4::after,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h5::before,
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title h5::after{
  display:none!important;
  content:none!important;
}
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_text{
  margin:0!important;
  color:#303136!important;
}
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue ul{
  margin:0!important;
  padding-left:1.3em!important;
  list-style:disc outside!important;
}
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue ul li{
  margin:.45em 0!important;
  padding:0!important;
  color:#303136!important;
  list-style:disc outside!important;
}
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue ul li::before{
  display:none!important;
  content:none!important;
}
body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue ul li::marker{
  color:#202126!important;
}
@media(max-width:600px){
  body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame{
    padding:12px 13px!important;
  }
  body.single-post .single-post-main .remelabo-entry-content .sc_frame_wrap.blue .sc_frame_title{
    margin-bottom:10px!important;
    padding-bottom:7px!important;
    font-size:16px!important;
  }
}

/* 0.2.44: redesign the current strategy-memo template. */
body.single-post .strategy-memo-box,
body.single-post .single-post-main .strategy-memo-box,
body.single-post .single-post-main .remelabo-entry-content .strategy-memo-box{
  box-sizing:border-box!important;
  margin:1.5em 0!important;
  padding:14px 16px!important;
  border:1px solid #202126!important;
  border-radius:0!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#303136!important;
}
body.single-post .strategy-memo-box .strategy-memo-title,
body.single-post .single-post-main .strategy-memo-box .strategy-memo-title,
body.single-post .single-post-main .remelabo-entry-content .strategy-memo-box .strategy-memo-title{
  position:static!important;
  display:block!important;
  width:auto!important;
  max-width:none!important;
  margin:0 0 12px!important;
  padding:0 0 8px!important;
  border:0!important;
  border-bottom:2px solid #202126!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#17181b!important;
  font-size:18px!important;
  font-weight:800!important;
  line-height:1.5!important;
  text-align:left!important;
}
body.single-post .strategy-memo-box .strategy-memo-body{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:#303136!important;
}
body.single-post .strategy-memo-box .strategy-memo-body ul{
  margin:0!important;
  padding-left:1.3em!important;
  list-style:disc outside!important;
}
body.single-post .strategy-memo-box .strategy-memo-body li{
  margin:.45em 0!important;
  padding:0!important;
  color:#303136!important;
  line-height:1.7!important;
  list-style:disc outside!important;
}
body.single-post .strategy-memo-box .strategy-memo-body li::before{
  display:none!important;
  content:none!important;
}
body.single-post .strategy-memo-box .strategy-memo-body li::marker{
  color:#202126!important;
}
@media(max-width:600px){
  body.single-post .strategy-memo-box,
  body.single-post .single-post-main .strategy-memo-box,
  body.single-post .single-post-main .remelabo-entry-content .strategy-memo-box{
    padding:12px 13px!important;
  }
  body.single-post .strategy-memo-box .strategy-memo-title{
    margin-bottom:10px!important;
    padding-bottom:7px!important;
    font-size:16px!important;
  }
}


/* 0.2.45: restrained square marker for the strategy memo heading. */
body.single-post .strategy-memo-box .strategy-memo-title::before,
body.single-post .single-post-main .strategy-memo-box .strategy-memo-title::before,
body.single-post .single-post-main .remelabo-entry-content .strategy-memo-box .strategy-memo-title::before{
  width:7px!important;
  height:7px!important;
  margin:0 9px 0 1px!important;
  background:#202126!important;
  vertical-align:.12em!important;
}
body.single-post .strategy-memo-box .strategy-memo-title::after{
  display:none!important;
  content:none!important;
}


/* 0.2.46: render the strategy memo square as a background mark.
   This avoids legacy h4 pseudo-element resets suppressing the marker. */
body.single-post .strategy-memo-box .strategy-memo-title,
body.single-post .single-post-main .strategy-memo-box .strategy-memo-title,
body.single-post .single-post-main .remelabo-entry-content .strategy-memo-box .strategy-memo-title{
  padding-left:17px!important;
  background-color:transparent!important;
  background-image:linear-gradient(#202126,#202126)!important;
  background-repeat:no-repeat!important;
  background-position:1px .72em!important;
  background-size:7px 7px!important;
}
body.single-post .strategy-memo-box .strategy-memo-title::before,
body.single-post .single-post-main .strategy-memo-box .strategy-memo-title::before,
body.single-post .single-post-main .remelabo-entry-content .strategy-memo-box .strategy-memo-title::before{
  display:none!important;
  content:none!important;
}
@media(max-width:600px){
  body.single-post .strategy-memo-box .strategy-memo-title,
  body.single-post .single-post-main .strategy-memo-box .strategy-memo-title,
  body.single-post .single-post-main .remelabo-entry-content .strategy-memo-box .strategy-memo-title{
    background-position:1px .66em!important;
  }
}


/* 0.2.51: align the breadcrumb home icon with the text baseline. */
#breadcrumb.breadcrumbs .fa-home{
  position:relative;
  top:1px;
}

/* Restore the current sidebar card spacing after migrated DIVER Custom CSS. */
#sidebar .sidebar-title{margin:0 2px;padding:0}
#sidebar .sidebar-title-text a{font-size:15px;font-weight:800;line-height:1.55;color:#fff!important;text-decoration:none}
#sidebar .sidebar-title-text a:hover{color:#ff88bb!important;text-decoration:none}
#sidebar .sidebar-desc{margin:11px 2px 0;padding:9px 0 0;border-top:1px solid rgba(255,255,255,.12);font-size:12px;line-height:1.72;color:#d6d6d6}

/* 0.2.94: keep the migrated logo at the same visual size as the pre-cleanup DIVER rule. */
#header .site-branding .custom-logo,
#header .site-branding .custom-logo-link img,
#header .site-branding .remelabo-legacy-logo img {
  box-sizing:border-box!important;
  width:auto!important;
  height:55px!important;
  max-width:100%!important;
  max-height:55px!important;
  padding:3px 0!important;
  object-fit:contain!important;
}

/* 0.2.98: keep the site logo compact on phones without changing tablet/desktop sizing. */
@media(max-width:599px){
  #header .site-branding .custom-logo,
  #header .site-branding .custom-logo-link img,
  #header .site-branding .remelabo-legacy-logo img,
  #header.is-fixed .site-branding .custom-logo,
  #header.is-fixed .site-branding .custom-logo-link img,
  #header.is-fixed .site-branding .remelabo-legacy-logo img{
    height:44px!important;
    max-height:44px!important;
    padding:2px 0!important;
  }
}

/* 0.2.94: compact and align the native comment form on phones. */
@media(max-width:599px){
  body.single-post #respond .comment-form{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    gap:0;
    margin:0;
  }
  body.single-post #respond .comment-form > p{
    box-sizing:border-box;
    width:100%;
    margin:0 0 .72rem;
  }
  body.single-post #respond .comment-form-comment label{
    display:block;
    margin:0 0 .35rem;
    font-size:13px;
    font-weight:700;
    line-height:1.4;
  }
  body.single-post #respond textarea#comment{
    display:block;
    box-sizing:border-box;
    width:100%!important;
    min-height:108px!important;
    height:108px;
    padding:.65rem .72rem;
    resize:vertical;
    line-height:1.55;
  }
  body.single-post #respond .comment-form-author,
  body.single-post #respond .comment-form-email,
  body.single-post #respond .comment-form-url{
    display:grid;
    grid-template-columns:4.5rem minmax(0,1fr);
    gap:.55rem;
    align-items:center;
  }
  body.single-post #respond .comment-form-author label,
  body.single-post #respond .comment-form-email label,
  body.single-post #respond .comment-form-url label{
    margin:0;
    font-size:13px;
    font-weight:700;
    line-height:1.3;
  }
  body.single-post #respond .comment-form-author input,
  body.single-post #respond .comment-form-email input,
  body.single-post #respond .comment-form-url input{
    box-sizing:border-box;
    width:100%!important;
    min-width:0;
    height:40px;
    padding:.5rem .65rem;
  }
  body.single-post #respond .comment-notes,
  body.single-post #respond .logged-in-as{
    margin-bottom:.8rem;
    font-size:12px;
    line-height:1.55;
  }
  body.single-post #respond .comment-form-cookies-consent{
    display:grid;
    grid-template-columns:auto minmax(0,1fr);
    gap:.5rem;
    align-items:start;
    font-size:12px;
    line-height:1.45;
  }
  body.single-post #respond .comment-form-cookies-consent input{
    margin-top:.18rem;
  }
  body.single-post #respond p.form-submit{
    margin:.15rem 0 0;
    text-align:left;
  }
  body.single-post #respond .form-submit input[type="submit"]{
    width:auto!important;
    min-height:40px;
    padding:.55rem 1.2rem;
  }
}

/* 0.2.99: compact category badges on all article grids. The old DIVER link padding
 * was still making the colored category label much larger than the current card UI. */
.home-post-grid .grid_post-box .remelabo-grid-card__terms .post-cat{
  padding:0!important;
  border-radius:2px!important;
  box-shadow:0 1px 2px rgba(0,0,0,.16)!important;
  font-size:8.4px!important;
  font-weight:700!important;
  line-height:1.15!important;
}
.home-post-grid .grid_post-box .remelabo-grid-card__terms .post-cat a{
  display:inline-block!important;
  padding:2px 6px!important;
  color:#fff!important;
  font-size:inherit!important;
  line-height:inherit!important;
  text-decoration:none!important;
}

/* 0.2.99: taxonomy/search cards no longer load home.css, so own their tag chips here
 * after legacy Custom CSS to keep the current light tag treatment intact. */
.remelabo-taxonomy-grid .grid_post-box .remelabo-grid-card__terms .post-tag{
  display:flex!important;
  flex:1 1 6rem!important;
  flex-wrap:wrap!important;
  gap:3px!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0!important;
}
.remelabo-taxonomy-grid .grid_post-box .remelabo-grid-card__terms .post-tag a{
  display:inline-block!important;
  max-width:100%!important;
  margin:0!important;
  padding:2px 8px!important;
  border:0!important;
  border-radius:2px!important;
  background:#eee!important;
  color:#000!important;
  font-size:9.6px!important;
  font-weight:700!important;
  line-height:1.2!important;
  text-decoration:none!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* 0.2.99: make the search-results heading/query readable against the white header. */
body.search .archive-header h1{
  color:#000!important;
}

@media(max-width:420px){
  .home-post-grid .grid_post-box .remelabo-grid-card__terms .post-cat{
    font-size:7.4px!important;
  }
  .home-post-grid .grid_post-box .remelabo-grid-card__terms .post-cat a{
    padding:1px 4px!important;
  }
  .remelabo-taxonomy-grid .grid_post-box .remelabo-grid-card__terms .post-tag a{
    padding:2px 5px!important;
    font-size:8px!important;
  }
}
