/*
Theme Name: rebelle
Theme URI: 
Description: re:belle 専用テーマ
Author: Hiyoshi IT
Author URI: http://hiyoshi-it.com
Version: 0.9.1
License: GNU General Public License
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Template: habakiri
*/

:root {
	--rb-key-color: #052554; /* 紺色 */
	--rb-nav-sub-color: #4b3402; /* 茶色系 */
	--rb-body-bgcolor: #fbefe5; /* 薄いクリーム色 */
	--rb-key-color-light: #153564;
	--rb-key-color-pale: #c2c3d2; /* 紫系 (section区切り等) */
	--rb-bottom-color: #756f8d; /* 落ち着いた紫系 */
	--rb-required-color: #b00;
	--rb-loading-bg-color: rgba(64,64,64,.1);
	--rb-sansserif-face: 'Noto Sans JP';
	--rb-sansserif-weight: 400;
	--rb-serif-face: 'Kaisei Opti';
	--rb-serif-weight: 400;
	--rb-mv-h-margin: 2vw;
	--rb-grid-margin: 8px;
	--rb-grid-padding: 1rem;
	--rb-content-box-text-color: #422;
	--rb-content-box-bg-color: #fff9f9;
	--rb-content-box-border-color: #eee0e0;
	--rb-fa-check: '\f00c';
}

html{
	scroll-behavior: smooth;
}
body {
	font-family: var(--rb-sansserif-face), sans-serif;
	line-height: 1.8;
	font-weight: 400;
	font-size: 16px;
	font-feature-settings : "palt";
	-webkit-tap-highlight-color:rgba(0,0,0,0);
	text-decoration-skip-ink: none;
	background-color: var(--rb-body-bgcolor);
}
.container {
	background-color: #fff;
}
@media (min-width: 1200px) {
	.container {
		width: 1100px;
		padding-left: 80px;
		padding-right: 80px;
	}
}

a {
	color: var(--rb-key-color);
	transition: all .5s;
}
a, a:hover, a:active, a:focus {
	text-decoration: none;
}


.spinner {
	position: fixed;
	height: 100vh;
	width: 100vw;
	display: none;
	justify-content: center;
	align-items: center;
	background-color: rgba(255,255,255,.8);
	color: rgba(255,39,163,.5);
	z-index: 999;
}
.popup-bg {
	position: fixed;
	height: 100vh;
	width: 100vw;
	display: none;
	background-color: rgba(5,37,84,.3);
	z-index: 10;
}


/* -- heading -- */

h1, h2, h3, h4, h5 {
	font-family: var(--rb-sansserif-face), sans-serif;
	line-height: 1.4;
}
h1,
h2 { font-size: 26px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }

h1.entry__title:not(.h4),
.related-posts .related-posts__title,
h2.archive-heading,
h2.section-heading {
	display: flex;
	align-items: center;
	height: 40px;
	margin: 2rem calc( (100vw - 100%) / 2 * -1 ) 2rem;
	padding: 0 calc((100vw - 100%) / 2) 3px;
	font-family: var(--rb-serif-face), serif;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 1px;
	color: var(--rb-key-color);
	background-color: var(--rb-key-color-pale);
}
h1.entry__title:first-child,
/*h2.section-heading:first-child,*/
h2.archive-heading:first-child {
	margin-top: 0;
}
.section-heading a {
	color: var(--rb-key-color);
}

.related-posts h1.entry__title.h4 a {
	color: var(--rb-key-color);
}

.entry__title span.sub-title {
	padding: 2px 0 0 2px;
	font-size: 15px;
	letter-spacing: 1px;
}

/*
@media (max-width: 767px) {
	#pickup-section { 
		margin-bottom: calc(15px - (100vw - 30px) * 0.015); 
	}
}
*/

h3.protected-post-title,
h3.sub-section-heading {
	font-weight: 400;
	font-size: 24px;
	color: #6e6666;
}



/* --- adjust margin between header and contents --- */

.page-template-full-width-fixed-slide .sub-page-contents,
.page-template-full-width-fixed .sub-page-contents,
.page-template-no-sidebar .sub-page-contents,
.page-template-default .sub-page-contents,
.single-titles .sub-page-contents,
.single .sub-page-contents,
.error404 .sub-page-contents,
.archive .sub-page-contents,
.blog .sub-page-contents {
	padding-top: 0;
}
h2.archive-heading {
	margin-top: 0;
}


/* reset parent's 'media' class styles */
article.media {
	zoom: inherit;
	overflow: inherit;
}


/* === Header ==== */

header.header {
	background-color: transparent;
}

/* --- Header & Logo --- */

.header--default .global-nav .menu, 
.header--transparency .global-nav .menu,
.responsive-nav > ul > li, 
.responsive-nav > * > ul > li {
	float: initial;
}

.header__content {
	display: flex;
	align-items: center;
}

/* -- Logo -- */

.site-branding a,
.site-branding a img {
	display: block;
	transition: filter .8s, opacity .8s;
}
.site-branding a:hover img {
	transition: opacity .8s;
}
.site-branding a:hover img,
.site-branding a:focus img,
.site-branding a:active img {
	opacity: .9;
	filter: contrast(50%) saturate(180%) brightness(110%);
}

.site-branding__logo {
	width: 55vw;
	height: auto;
}
@media (min-width: 480px) {
	.site-branding, .site-branding__logo {
		max-width: 300px;
	}
}
@media (min-width: 992px) {
	.site-branding, .site-branding__logo {
		max-width: 210px;
	}
}
/*
@media (min-width: 1200px) {
	.site-branding, .site-branding__logo {
		max-width: 260px;
	}
}
*/


/* === global nav === */

.header__content .header__col {
	display: block;
}
.header--default .global-nav .menu {
	width: 100%;
	float: none;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
}

.responsive-nav .menu>.menu-item {
	position: relative;
	display: block;
}


/* --- nav labels --- */

.responsive-nav a,
.responsive-nav a strong {
	font-family: var(--rb-serif-face), serif;
	font-weight: 700;
}

/*
nav.global-nav a {
	font-family: var(--rb-serif-face), serif;
	font-weight: 700;
}
*/

@media (min-width: 992px) {
	.col-xs-10.col-md-4.header__col {
		width: 240px;
	}
	.col-xs-2.col-md-8.header__col.global-nav-wrapper {
		width: 700px;
	}
	.responsive-nav .menu>.menu-item {
		width: 175px;
	}
	.responsive-nav .menu>.menu-item>a strong {
		font-size: 28px;
	}
	.responsive-nav .menu>.menu-item>a small {
		font-size: 14px;
	}
}
@media (min-width: 1200px) {
/*	
	.col-xs-10.col-md-4.header__col {
		width: 300px;
	}
	.col-xs-2.col-md-8.header__col.global-nav-wrapper {
		width: 840px;
	}
	.responsive-nav .menu>.menu-item {
		width: 210px;
	}
	.responsive-nav .menu>.menu-item>a strong {
		font-size: 35px;
	}
	.responsive-nav .menu>.menu-item>a small {
		font-size: 18px;
	}
*/
}


/*
.responsive-nav .menu>.menu-item>a {
	color: var(--rb-key-color)!important;
}
*/

/* -- desktop nav -- */

.responsive-nav #menu-global-nav.menu>.menu-item>a {
	margin: 20px 0;
	padding: 0;
	height: 80px;
	line-height: 1.3;
	color: var(--rb-key-color)!important;
	border-left: 4px solid var(--rb-key-color);
	transition: color .5s;
}
.responsive-nav #menu-global-nav.menu>.menu-item:last-child>a {
	border-right: 4px solid var(--rb-key-color);
}
.responsive-nav .menu>.menu-item>a:hover,
.responsive-nav .menu>.menu-item>a:active {
	color: var(--rb-key-color-pale)!important;
}



/* ---  mobile nav --- */
/*
#container .off-canvas-upper {
	display: none;
}
.off-canvas-upper {
	width: 100%;
	padding: 14px;
}
.off-canvas-upper img {
	width: 75%;
}
*/
.off-canvas-nav--dark {
	background-color: #fff;
	border-top: 2px solid var(--rb-key-color);
	border-bottom: 2px solid var(--rb-key-color);
}
.off-canvas-nav--dark li {
	color: var(--rb-key-color);
	background-color: #fff;
	border-top: 1px solid var(--rb-key-color);
	border-bottom: 1px solid var(--rb-key-color);
}
.off-canvas-nav--dark a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 10px 10px;
	color: var(--rb-key-color);
	line-height: 1.5;
	font-family: var(--rb-serif-face), serif;
}
.off-canvas-nav--dark a strong {
	font-weight: 700;
}
.off-canvas-nav a small {
	display: inline;
	white-space: nowrap;
	line-height: 27px;
	font-size: 16px;
	font-weight: 700;
}
.off-canvas-nav--dark .current-menu-item > a, 
.off-canvas-nav--dark .current_page_ancestor > a, 
.off-canvas-nav--dark .current-page-ancestor > a, 
.off-canvas-nav--dark .current_page_item > a, 
.off-canvas-nav--dark .current_page_parent > a,
.off-canvas-nav--dark .current_page_item > a 
{
	color: var(--rb-key-color);
	background-color: var(--rb-key-color-pale);
}
.off-canvas-nav--dark a:hover, 
.off-canvas-nav--dark a:active, 
.off-canvas-nav--dark a:focus 
{
	background-color: var(--rb-key-color-pale);
	-webkit-tap-highlight-color:rgba(0,0,0,0);
}
/*
.off-canvas-nav--dark > ul, 
.off-canvas-nav--dark > * > ul {
	border-bottom: none;
}
*/

#responsive-btn {
	border: none;
	height: 44px;
	width: 44px;
	font-size: 24px;
	line-height: 24px;
}

/*
#responsive-btn:active,
#responsive-btn:focus,
#responsive-btn:hover {
	background-color: #fff!important;
}
#responsive-btn:focus,
#responsive-btn:hover {
	color: #ff27a3!important;
}
*/


/* -- SNS NAV -- */
.cb-sns-nav {
	/* for desktop */
	display: none;
}
.off-canvas-nav--dark .cb-sns-nav {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	padding: 10px;
	font-size: 1rem;
}

.off-canvas-nav--dark .cb-sns-nav a {
	display: inline-block;
	line-height: 1;
	padding: 0;
}




/* === Frontpage === */

.home .entry__title {
	display: none;
}

/* Frontpage slider */
#slider {
	padding-left: 0;
	padding-right: 0;
}
.slider-nav {
	margin-bottom: 20px;
}

/*
.main-visual {
	position: relative;
	margin: 0 calc( (100vw - 100%) / 2 * -1 );
	padding: 2vw calc((100vw - 100%) / 2);
	text-align: center;
}
.home .main-visual { 
	background-color: var(--rb-key-color); 
}
.main-visual img {
	position: relative;
	max-width: 100%;
	aspect-ratio: 4 / 3;
	background-color: var(--rb-loading-bg-color);
}

@media (min-width: 600px) {
	.main-visual {
		padding-top: var(--rb-mv-h-margin);
		padding-bottom: var(--rb-mv-h-margin);
	}
	.main-visual img {
		width: 100%;
	}
}
.main-visual+h2 { margin-top: 2rem; }
*/



/* -- INFORMATION section -- */

/*
iframe[id="twitter-widget-*"] {
	margin: 1rem 0 2rem;
}
*/

.twitter-timeline-rendered,
.twitter-timeline {
	margin: 1rem auto 2rem!important;
}

.top-page-body {
	margin-left: auto;
	margin-right: auto;
}

.cb-recent-posts li {
	position: relative;
	list-style: none;
}


/* === title single === */

.single .main-visual {
	margin: 0;
	padding: 0;
	text-align: center;
}

.single .video-wrap {
	position: relative;
	margin: 1rem 0;
	padding: 0;
	text-align: center;
}
.single .main-visual:before,
.video-wrap:before {
	position: absolute;
	top: calc(50% - 1rem);
	left: 0;
	right: 0;
	width: fit-content;
	height: auto;
	margin: 0 auto;
	content: 'Loading...';
	color: #666;
	font-weight: 600;
}
.video-wrap iframe,
.video-wrap video {
	position: relative;
	max-width: 100%;
	background-color: var(--rb-loading-bg-color);
}

@media (min-width: 600px) {
	.video-wrap iframe,
	.video-wrap video {
		width: 100%;
	}
}


.content-box {
	margin: 0 0 1.5rem;
	padding: 2rem 1.5rem;
	width: 100%;
	
	border-width: 1px;
	border-style: solid;
	border-color: var(--rb-content-box-border-color);
	color: var(--rb-content-box-text-color);
	background-color: var(--rb-content-box-bg-color);
	
	border-radius: 0;
	font-size: 15px;
	line-height: 1.6;
}
.content-box p {
	margin: 1rem 0 1rem;
}
.content-box p:last-child {
	margin-bottom: 0;
}
.content-box ol br,
.content-box ul br {
	display: none;
}
.content-box a {
	display: inline-block;
}



.content-box .content-box-inner {
	display: flex;
	flex-wrap: wrap;
}
.content-box .char-image-wrap {
	width: 100%;
}
.content-box .char-image-wrap.no-char-img {
	width: 0;
}
.content-box .char-profile-wrap.no-char-img {
	width: 100%;
}


.wp-video {
	margin: auto;
}

.left .wp-video {
	margin: initial;
}

@media (max-width:767.98px) {
	.xs-left .wp-video {
		margin: initial;
	}
}
@media (min-width:768px) and (max-width:991.98px) {
	.sm-left .wp-video,
	.left .wp-video {
		margin: initial;
	}
}
@media (min-width:992px) and (max-width:1199.98px) {
	.md-left .wp-video,
	.left .wp-video {
		margin: initial;
	}
}
@media (min-width:1200px) {
	.lg-left .wp-video,
	.left .wp-video {
		margin: initial;
	}
	.wp-video {
		max-width: 70%!important;
		height: auto;
	}
}


@media (min-width: 768px) {
	.content-box .content-box-inner {
		flex-wrap: nowrap;
		justify-content: space-between;
	}
	.content-box .char-image-wrap {
		width: 30%;
	}
	.content-box .char-profile-wrap {
		width: 68%;
	}
}
@media (min-width: 1200px) {
	.content-box .char-image-wrap {
		width: 25%;
	}
	.content-box .char-profile-wrap {
		width: 72%;
	}
}

.content-box .dist-name-wrap,
.content-box .dist-link-wrap {
	width: fit-content;
	padding: .3rem .5rem;
	border: 1px solid var(--rb-content-box-text-color);
	line-height: 1.5;
}
.content-box .dist-name-wrap {
	margin-top: 5rem;
	margin-bottom: 1rem;
	color: var(--rb-content-box-text-color);
}
.content-box .dist-name-wrap:first-child {
	margin-top: 0;
}
.content-box .dist-link-wrap {
	margin-top: 1rem;
	border-radius: 5px;
}
.content-box .dist-link-wrap a {
	color: var(--rb-content-box-text-color);
}
/*
.content-box .dist-name-wrap::before,
.content-box .dist-link-wrap::before {
	content: '◆';
	margin-right: 0.1rem;
}
*/

.sample-voice-wrap {
	display: flex;
	flex-wrap: wrap;
	padding: 2px 1px;
	background-color: #999;
}
.sample-voice-wrap audio {
	margin: 2px 0;
	width: 100%;
}
/*
.sample-voice-wrap audio::-webkit-media-controls-enclosure {
	max-height: 100px;
}
*/
/* for Safari/iOS */
.sample-voice-wrap audio.media-controls.inherits-border-radius.inline.ios.audio,
.media-controls.inherits-border-radius.inline.ios.audio {
	height: 40px;
	--inline-controls-bar-height: 40px;
}


@media (min-width: 768px) {
	.sample-voice-wrap audio {
		width: 50%;
	}
}
@media (min-width: 1200px) {
	.sample-voice-wrap audio {
		width: calc( 100% / 3 );
	}
}

.empty-msg-container {
	display: flex;
	height: 25vh;
	justify-content: center;
	align-items: center;
}
.empty-msg {
	text-align: center;
	font-size: 20px;
	color: #999;
}


/* === Grids === */

.grid-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: stretch;
}

.news-grid,
.content-grid {
	position: relative;
	width: 48.5%;
	margin: 1.5%;
/*	width: 31.3%;
	margin: 1.0%; */
	/*box-shadow: 2px 2px 10px -5px var(--rb-key-color);*/
}
/*.content-grid.news-grid {*/
.news-grid {
	border: 1px solid #eee;
}
.news-grid .blank-thumb {
	border-bottom: 1px solid #eee;
}

.content-grid:nth-child(odd) {
	margin-left: 0;
}
.content-grid:nth-child(even) {
	margin-right: 0;
}

.grid-thumb-wrap {
	position: relative;
}
.grid-meta-wrap {
	/*
	flex: 1;
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: flex-start;
	align-content: flex-start;
	*/
	padding: var(--rb-grid-padding);
	line-height: 1.5;
	background: #fff;
	font-size: 13px;
}
.grid-meta-wrap a {
	display: block;
	padding-bottom: 2em;
	color: inherit;
}

/* --- news grid --- */

.news-grid .grid-meta-wrap {
	padding: 5px 10px;
	line-height: 1.5;
}

.news-date {
	position: absolute;
	bottom: 0;
	padding-bottom: 7px;
	font-size: 13px;
}
@media ( (min-width: 480px) and (max-width: 580px) ) {
	.news-date {
		bottom: 25px;
		right: var(--rb-grid-padding);
	}
}


/* category label */
a.news-category,
span.news-category {
	position: absolute;
	display: inline-block;
	right: 0;
	bottom: 0;
	line-height: 1;
	padding: 5px 10px;
	height: 24px;
	width: 63px;
	font-size: 13px;
	/*
	width: 77px;
	height: 30px;
	font-size: 16px;
	*/
	text-align: center;
	font-family: var(--rb-serif-face), serif;
	font-weight: 700;
	color: var(--rb-key-color);
	background-color: #f0f0f0;
}
/* category label 0.8125 */

.entry-meta__item.categories .news-category {
	position: relative;
}

.digital a.news-category,
.digital span.news-category{
	background-color: #f6e4e3;
}
.comics a.news-category,
.comics span.news-category {
	background-color: #ccccf9;
}
.etc a.news-category,
.etc span.news-category {
	background-color: #bdeff7;
}


@media (max-width: 480px) {
	/*.content-grid.news-grid {*/
	.news-grid {
		display: flex;
		width: 100%;
		height: auto;
		margin-left: 0;
		margin-right: 0;
	}
	.news-grid .grid-thumb-wrap {
		width: 35%;
	}
	.news-grid .grid-meta-wrap {
		position: relative;
		width: 65%;
	}
	.news-date {
		position: absolute;
		display: inline-block;
		left: 0;
		bottom: 0;
		line-height: 1;
		padding: 5px 10px 8px;
	}
	.news-category {
		/* 77x30 */
		height: 24px;
		width: 63px;
		font-size: 13px;
	}
}
@media ( min-width: 481px ) {
	.news-grid,
	.content-grid {
		width: 31.3%;
		margin: 1.0%;
	}
	
	.content-grid:nth-child(odd) {
		margin: 1.0%;
	}
	.content-grid:nth-child(even) {
		margin: 1.0%;
	}
	
	/*
	.news-grid:nth-child(odd) {
		margin-left: 0;
	}
	.news-grid:nth-child(even) {
		margin-right: 0;
	}
*/
}
/*
@media (max-width: 767px) {
	.content-grid:nth-child(odd) {
		margin-left: 0;
	}
	.content-grid:nth-child(even) {
		margin-right: 0;
	}
}
*/
@media (min-width: 768px) {
	/* container width = 720px */
	.news-grid,
	.content-grid,
	.content-grid:nth-child(odd),
	.content-grid:nth-child(even) {
		width: 172px;
		margin: 5px;
	}
	.grid-container {
		margin-left: -5px;
		margin-right: -5px;
	}
	.news-date {
		font-size: 12px;
	}
}
@media (min-width: 992px) {
	/* container width = 940px */
	.news-grid,
	.content-grid {
		width: 224px;
		margin: 7px;
	}
	.grid-container {
		margin-left: -7px;
		margin-right: -7px;
	}
	.news-category {
		height: 30px;
		width: 77px;
		font-size: 16px;
	}
}
/*
@media (min-width: 1200px) {
	.content-grid {
		width: 273px;
		margin: 8px;
	}
	.grid-container {
		margin-left: -8px;
		margin-right: -8px;
	}
}
*/

.content-grid .content-link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: #fff;
}
.content-grid .content-link:hover {
	text-decoration: none;
}


/* --- archive button -- */

.content-archive-btn-wrap {
	margin: 1rem 0;
}
.content-archive-btn-wrap a {
	display: block;
	margin: 0 auto;
	padding: .1rem 1rem;
	width: fit-content;
	color: var(--rb-key-color);
	font-family: var(--rb-serif-face), serif;
	font-size: 24px;
	border: 1px solid var(--rb-key-color);
}
.content-archive-btn-wrap a:hover {
	text-decoration: none;
	color: var(--rb-key-color-pale);
	border-color: var(--rb-key-color-pale);
}
.content-archive-btn-wrap a i {
	margin-left: 1rem;
}

/*
@media (min-width: 480px) {
	
	
}
@media (max-width: 768px) {
	#main {
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media (min-width: 768px) {
	.sub-page-contents .container {
		padding-top: 0;
	}
}
@media (min-width: 992px) {
	.sub-page-contents .container {
		padding-top: 20px;
	}
}
@media (min-width: 1200px) {
	
	
}
*/


/* === SNS section === */

.cols-container {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: justify;
	-moz-box-pack: justify;
	-ms-flex-pack: justify;
	-webkit-justify-content: space-between;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: 0;
	padding: 0;
}
.cols-container .sub-section:nth-child(odd) {
	width: 100%;
}
.cols-container .sub-section:nth-child(even) {
	width: 100%;
}
.cols-container .sub-section:nth-child(odd) .section-heading {
	margin-right: -100%;
	padding-right: 100%;
}
.cols-container .sub-section:nth-child(even) .section-heading {
	margin-left: -100%;
	padding-left: 100%;
}
.cols-container .sub-section .sns-widget {
	text-align: center;
}
.cols-container .sub-section .sns-link {
	padding: 13px 0 13px;
	text-align: center;
}
.sns-link-banner {
	width: 227px;
	height: 323px;
}


@media (min-width: 768px) {
	.cols-container {
		flex-wrap: nowrap;
	}
	.cols-container .sub-section:nth-child(odd) {
		width: 55%;
	}
	.cols-container .sub-section:nth-child(even) {
		width: 40%;
	}
	.cols-container .sub-section:nth-child(odd) .section-heading {
		margin-right: 0;
		padding-right: 10px;
	}
	.cols-container .sub-section:nth-child(even) .section-heading {
		margin-left: -10px;
		padding-left: 10px;
	}
}
@media (min-width: 992px){
	.cols-container .sub-section .sns-link {
		text-align: left;
	}
}





/* ==== Content: single === */

/* --- news single --- */
.news-title {
	margin: 0 0 20px;
	font-weight: 700;
}
.entry-meta__list {
	display: flex;
	justify-content: space-between;
}
.entry-meta {
	font-size: 14px;
	border: none;
	margin-bottom: 0;
	padding-bottom: 0;
}
.entry-meta__item {
	vertical-align: middle;
}
/*
.entry-meta__item.categories img {
	width: 61.6px;
	height: 24;
}
*/


/* --- digital & comics details --- */

.details-banner {
	width: 100%;
}
.details-banner img {
	border: 1px solid #333;
}

.single-header,
.comics-header {
	display: flex;
	flex-wrap: nowrap;
}
.single-thumb img,
.comics-thumb img {
	max-width: 309px;
}
.single-meta,
.comics-meta {
	margin-left: 40px;
	width: 100%;
}

.details-title {
	margin: 20px 0 0;
	padding-bottom: .2em;
	border-bottom: .57px solid #9e9e9f;
	font-family: 'Noto Sans JP';
	font-size: 32.6px;
	font-weight: 700;
	/*font-weight: bold;*/
	line-height: 1.5;
	position: relative;
	top: -.25em;
}
.single-meta .details-title,
.comics-meta .details-title {
	margin-top: 0;
	padding-bottom: .25em;
	position: relative;
	top: -.25em;
}
span.nowrap {
	white-space: nowrap;
}


.details-author {
	margin: 0px 0 0;
	border-bottom: .57px solid #9e9e9f;
	font-family: 'Noto Sans JP';
	font-size: 27px;
	font-weight: 700;
	line-height: 1.5;
	padding-bottom: .25em;
}
.single-meta .details-author,
.comics-meta .details-author {
	padding-top: 0;
	padding-bottom: .25em;
	margin-bottom: .8em;
}

.details-meta {
	margin-top: 10px;
	text-align: center; /*right;*/
	font-size: 18.43px;
}
/*
.details-meta.upper { display: block; }
.details-meta.lower { display: none; }
*/

.isbn, comics-price, .ship-date, .total-pages {
	font-size: 16.3px;
}
.isbn span {
	word-break: keep-all;
}
ul.fa-bullet.comics-meta-sub {
	margin-left: 1.6em;
}
ul.fa-bullet.comics-meta-sub li {
	margin-bottom: 0;
}
ul.fa-bullet.comics-meta-sub li:before {
	color: #333;
}

ul.fa-bullet.comics-meta-sub .item-title {
	display: inline-block;
	width: 6em;
}


.details-meta .release-date { display: block; }


/* --- purchase --- */

.c1-purchase-container {
	margin-top: 20px;
	margin-bottom: 20px;
	text-align: center;
}
.c2-purchase-container {
	margin-top: 20px;
}
.purchase-dropdown {
	position: relative;
	margin: 0;
	padding: 0;
}
.purchase-btn,
.single-epub-btn,
.shoplist-btn {
	position: relative;
	display: inline-block;
	box-sizing: border-box;
	padding: 0;
	z-index: 99;
	width: 200px;
	height: 55px;
	background-color: #756d77;
	color: #fff;
	text-align: center;
	vertical-align: middle;
	font-family: var(--rb-serif-face), serif;
	font-weight: 700;
	font-size: 24px;
	line-height: 1;
	padding-top: calc( (55px - 24px) / 2 );
	transition: background-color 300ms;
}
.single-epub-btn,
.shoplist-btn {
	margin-top: .8em;
	z-index: 0;
}
/*
.single-epub-btn {
	display: none;
}
*/
/*
.purchase-btn.dg {
	height: 40px;
	width: auto;
}
.purchase-btn.cm {
	height: 55px;
	width: auto;
}
*/
.purchase-btn:hover,
.single-epub-btn:hover,
.shoplist-btn:hover,
.purchase-btn:focus,
.single-epub-btn:focus,
.shoplist-btn:focus,
.purchase-btn:active,
.single-epub-btn:active,
.shoplist-btn:active {
	color: #fff;
	background-color: #88839b;
}

.purchase-dropdown-menu {
	position: absolute;
	display: none;
	z-index: 99;
	margin: 0;
	list-style: none;
	padding: 0;
	background-color: #fff;
	border-radius: 2px;
	box-shadow: 3px 6px 10px rgba(0,0,0,.3), -1px -1px 5px rgba(0,0,0,.1);
	overflow-y: auto;
}
.purchase-dropdown-menu.dg {
	top: 40px;
	right: 0;
	min-width: 200px;
	margin-left: 2em;
}
.purchase-dropdown-menu.cm {
	top: 55px;
	left: 0;
	width: 100%;
	min-width: 200px;
}
@media (max-width: 600px) {
	.comics-meta .cm-purchase-container,
	.comics-meta .cm-preview-container,
	.comics-meta .cm-shoplist-container {
		text-align: center;
	}
}
@media (min-width:601px) and (max-width: 991px) {
	.purchase-dropdown-menu.cm {
		right: 0;
	}
}
@media (min-width:992px) {
	.c1-purchase-container {
		text-align: right;
	}
	.purchase-dropdown-menu.cm {
		left: 0;
		width: auto;
	}
}


.purchase-dropdown-menu li.dropdown-item {
	display: block;
	text-align: left;
	line-height: 1.2;
	font-size: 16px;
	padding: 0;
}
.purchase-dropdown-menu li.dropdown-item:first-child {
	display: flex;
	justify-content: space-between;
	padding: 0;
	border-bottom: 1px solid #ccc;
}
.purchase-dropdown-menu li.dropdown-item:first-child span {
	padding: 8px 0 8px 14px;
	color: #999;
}
.purchase-dropdown-menu li.dropdown-item:first-child .close-btn {
	padding: 8px;
	color: #999;
}
.purchase-dropdown-menu li.dropdown-item a {
	display: block;
	width: 100%;
	padding: 8px 14px;
	transition: all .1s;
}

.purchase-dropdown-menu li.dropdown-item a {
	color: var(--rb-key-color);
}
.purchase-dropdown-menu li.dropdown-item:last-child a {
	padding-bottom: 10px;
}
.purchase-dropdown-menu li.dropdown-item a:hover,
.purchase-dropdown-menu li.dropdown-item a:focus,
.purchase-dropdown-menu li.dropdown-item a:active {
	color: #fff;
	background-color: #88839b;
/*	background-color: var(--rb-key-color-pale);*/
}



.summary-heading,
.benefits-heading,
.rel-comics-heading,
.lineup-heading,
.comics-heading,
.active-heading,
.complete-heading,
.closed-heading {
	margin: 20px 0 20px 0;
	height: 40px;
	line-height: 1;
	position: relative;
	background-image: linear-gradient(to right, #7f6767, #7f6767 2px, transparent 2px, transparent 9px);
	background-size: 11px 2px;
	background-position: right center;
	background-repeat: repeat-x;
	display: flex;
	align-items: center;
}
.comics-heading span {
	background-color: #fff;
	padding-right: 8px;
}
.entries--archive .active-heading,
.entries--archive .complete-heading {
	width: 100%;
	margin-left: 15.3px;
}
.active-heading:first-child,
.complete-heading:first-child {
	margin-top: 0;
}
@media (max-width: 480px) {
	.entries--archive .active-heading,
	.entries--archive .complete-heading {
		margin-left: 0;
	}
}
@media (min-width: 481px) and (max-width: 767px) {
	.entries--archive .active-heading,
	.entries--archive .complete-heading {
		margin-left: 2vw;
	}
}
@media (min-width: 768px) and (max-width: 991px) {
	.entries--archive .active-heading,
	.entries--archive .complete-heading {
		margin-left: 12px;
	}
}
@media (min-width: 992px) and (max-width: 1200px) {
	.entries--archive .active-heading,
	.entries--archive .complete-heading {
		margin-left: 11px;
	}
}

/*
.summary-heading::before {
}
.summary-svg,
.characters-svg,
.benefits-svg,
.epub-svg,
.comics-svg,
.lineup-svg,
.active-svg,
.closed-svg {
	height: 24.774px;
	padding-right: 8px;
	background-color: #fff;
}
*/

.summary-desc {
	font-size: 18.43px;
	line-height: 1.7;
	/*padding-left: 170px;*/
}
.summary-desc.comics-desc {
	margin-top: 20px;
	font-size: 18.43px;
	line-height: 1.7;
	margin-bottom: 1em;
	padding-left: 0;
}
.summary-desc .hard-break {
	display: none;
}

/*
.details-terms {
	margin-top: 10px;
	font-size: 18.43px;
	text-align: right;
}
.details-terms.comics-terms {
	font-size: 19px;
	padding: .2em .5em .3em;
	background-color: #f5f5f5;
}
.details-terms span {
	margin-left: 1.1em;
	white-space: nowrap;
}
.details-terms span:first-child {
	margin-left: 0;
}
.details-terms span:last-child {
	margin-right: 0;
}
*/


/* -- Benefits -- */

.benefit-list,
.char-list {
	/*
	margin-left: -46.6666px;
	margin-right: -46.6666px;
	*/
	/*
	display: flex;
	flex-wrap: wrap;
	justify-content: space-around;
	gap: 20px 10px;
	*/
	display: grid;
	justify-content: space-around;
	grid-template-columns: repeat(
		auto-fill,
		minmax(150px, 1fr)
		);
	column-gap: 15px;
	row-gap: 15px;
}
.benefit-item,
.char-item {
	/*
	padding-left: 46.6666px;
	padding-right: 46.6666px;
	*/
	/*
	box-sizing: content-box;
	width: 180px;
	margin-bottom: 20px;
	*/
}
/*
.benefit-list::after,
.char-list::after {
	display: block;
	content: "";
	width: 180px;
}
*/
.benefit-item img,
.char-item img {
/*	width: 180px;*/
	height: auto;
	border: 1px solid #666;
}
.benefit-meta,
.char-profile {
	margin: 10px 0 0 0;
}
.shop-name,
.char-name {
	text-align: center;
	font-size: 15.59px;
	font-weight: bold;
	line-height: 1;
}
.shop-name {
	line-height: 1.7;
}
.shop-name a {
	text-decoration: underline;
}
.benefit-desc {
	text-align: center;
	font-size: 15.59px;
	font-weight: bold;
	line-height: 1.5;
}


.rel-comics-list {
	display: flex;
	flex-wrap: wrap;
	margin-left: -10px;
	margin-right: -10px;
}
.rel-comics-item {
	box-sizing: content-box;
	width: 184px;
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 20px;
}
.rel-comics-item img {
	width: 184px;
	height: 262px;
	border: none;
}
.rel-comics-meta {
	margin: 10px 0 20px;
}
.rel-comics-title {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.4;
}
.rel-ship-date {
	font-size: 14px;
}


@media (max-width: 320px) {
	.single-thumb img,
	.comics-thumb img {
		max-width: 100%;
	}
}
@media (max-width: 600px) {
	.single-header,
	.comics-header {
		flex-wrap: wrap;
		justify-content: center;
	}
	.single-meta,
	.comics-meta {
		margin-top: 1em;
		margin-left: 0;
	}
	.comics-meta .epub-item a.shop-list-link,
	.comics-meta .epub-item a.ep-com {
		margin: 0 auto;
	}
	.summary-desc br { 
		display: none;
	}
	.summary-desc .hard-break {
		display: block;
	}
}
/*
@media (min-width: 600px ){
	
	.details-meta.upper { display: none; }
	.details-meta.lower { display: block; }
	
}
*/
@media (max-width: 767px) {

	.single-meta,
	.comics-meta {
		/*margin-left: 20px;*/
	}
	.details-title  {
		font-size: 21px;
		line-height: 1.4;
	}
	.details-author { font-size: 18px; }

	.details-meta,
	.details-terms,
	.summary-desc { 
		font-size: 17px;
		line-height: 1.6;
	}
	/*
	.lineup-item,
	.rel-comics-item,
	.benefit-item {
		display: flex;
		align-items: flex-start;
		align-content: flex-start;
		width: 90%;
	}
	.lineup-thumb {
		width: 40vw;
	}
	.lineup-thumb img {
		width: 100%;
		height: auto;
	}
	.rel-comics-item img {
		width: 40vw;
		height: auto;
	}
	*/
	.lineup-meta {
		margin: 0;
		padding-left: 1.5em;
		width: 100%;
	}
	.rel-comics-meta {
		margin: 0;
		padding-left: 1.5em;
		width: 100%;
	}
	/*
	.benefit-item img {
		width: 40%;
		height: auto;
	}
	*/
	.benefit-meta {
		margin-top: 0;
		padding-left: 1.5em;
	}
	.shop-name,
	.benefit-desc { text-align: left; }
}
@media (min-width: 768px) {
	.details-title  { 
		font-family: 'Noto Sans JP';
		font-weight: 700;
	}
}
@media (max-width: 991px) {

	.details-title  { font-size: 27px; }
	.details-author { font-size: 23px; }
/*
	.details-meta .release-date { display: block; }
*/
	.summary-desc,
	.details-terms { padding-left: 0; }
	.details-terms { text-align: right; }
	/*
	.benefit-list { margin: 0 -25.5px; }
	.benefit-item { padding: 0 25.5px; }
	*/
}
@media (max-width: 1200px) {
	/*
	.benefit-list { margin: 0 -19.3px; }
	.benefit-item { padding: 0 19.3px; }
	*/
}



/* ==== separator === */

hr.separator {
	border-width: 4px 0 0;
	border-style: dotted;
	border-color: #ccc;
	background: none;
	box-shadow: none;
	margin: 3rem 0;
}

hr.dotted-separator {
	height: 10px;
	line-height: 1;
	border: none;
/*	background-image: linear-gradient(to right, #717071, #717071 2px, transparent 2px, transparent 8px);*/
	background-image: url('data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgOSAyIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxjaXJjbGUgY3g9IjEiIGN5PSIxIiByPSIxIiBmaWxsPSIjNzE3MDcxIiAvPjwvc3ZnPg==');
	/*
	<svg viewBox="0 0 9 2" xmlns="http://www.w3.org/2000/svg"><circle cx="1" cy="1" r="1" fill="#717071" /></svg>
	*/
	background-size: 10px 2px;
	background-position: left center;
	background-repeat: repeat-x;
	overflow-x: visible;
}
.dist_container hr.dotted-separator {
	margin-bottom: 2.5rem;
}
.entry-meta +  hr.dotted-separator {
	margin: 10px -8px 20px 0;
}
.single-oversea .entry-meta + hr.dotted-separator {
	margin-bottom: 10px;
}


/* === bullet === */

ul.fa-bullet {
	padding-left: 0;
	margin-left: 2.14rem;
	list-style-type: none;
}
ul.fa-bullet > li {
	position: relative;
	margin-bottom: .5rem;
}
ul.fa-bullet > li:before {
	position: absolute;
	font-family: FontAwesome;
	left: -2.14rem;
	width: 2.14rem;
	top: 0.14rem;
	text-align: center;
	color: var(--rb-key-color-light);
}
ul.fa-bullet.caret-right > li:before {
	content: '\f0da';
}
ul.fa-bullet.angle-right > li:before {
	content: '\f105';
}
ul.fa-bullet.angle-double-right > li:before {
	content: '\f101';
}
ul.fa-bullet.chevron-circle-right > li:before {
	content: '\f138';
}
ul.fa-bullet.check > li:before {
	content: '\f00c';
}
ul.fa-bullet.glass > li:before {
	content: '\f000';
}
ul.fa-bullet.square > li:before {
	content: '\f0c8';
}


/* === custom ol === */

ol.nip {
	margin-left: 1rem;
	padding-left: 1rem;
}
ol.nip li {
	list-style-type: none;
	counter-increment: cnt;
	margin-bottom: .5rem;
}
ol.nip li::before {
	content: "(" counter(cnt) ")";
	display: inline-block;
	margin-left: -2rem;
	width: 2rem;
}


/* ==== reCAPTCHA === */
.bottom-recaptcha-msg {
	margin: 60px 20px 0; /* margin-top here = margin-bottom of #main */
	color: #999;
	font-size: 12px;
}


/* === Footer === */

.footer .container {
	text-align: center;
	background-color: var(--rb-bottom-color);
}

/* -- footer copyright -- */

.footer .copyright {
	font-size: 15px;
	font-weight: 500;
	color: #fff;
	background-color: var(--rb-bottom-color);
	padding: 1rem 1rem 2.5rem;
}
.footer .copyright a {
	color: #fff;
}
.footer .copyright a:hover,
.footer .copyright a:active,
.footer .copyright a:focus {
	color: var(--rb-key-color-pale);
	text-decoration: none;
}

/* --- Footer nav --- */

.footer .menu-footer-nav {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	margin: 0;
	padding: 2.5rem 1rem 0;
	list-style: none;
}
.footer .menu-footer-nav li {
	display: inline;
	white-space: nowrap;
	padding: 0 .4em;
	color: #fff;
	font-size: 15px;
	line-height: 1.4;
	border-left: 1px solid #fff;
}
.footer .menu-footer-nav li:first-child {
	border-left: none;
	padding-left: 0;
}
.footer .menu-footer-nav li:last-child {
	padding-right: 0;
}
.footer .menu-footer-nav li a {
	color: #fff;
	font-weight: 500;
}
.footer .menu-footer-nav li a:hover,
.footer .menu-footer-nav li a:active {
	color: var(--rb-key-color-pale);
}

.footer .menu-footer-nav li.toggle-search {
	position: relative;
	left: 2rem;
	border-left: none;
}



/* Footer profile menu */

.footer .profile-nav {
	line-height: 1.3;
}
.footer .menu-profile-nav {
	margin: 0;
	padding: 0;
	list-style: none;
}
.footer .menu-profile-nav li {
	display: inline;
	padding: 0 .3em;
	white-space: nowrap;
	color: #fff;
	font-size: 12px;
}
@media (min-width: 480px) {
	.footer .menu-profile-nav li {
		padding: 0 .5em;
	}
}
/*
.footer .menu-footer-nav li a,
.footer .menu-profile-nav li a {
	color: #fff;
}
*/
/*
.footer .menu-footer-nav li a:hover,
.footer .menu-footer-nav li a:active,
.footer .menu-profile-nav li a:hover, 
.footer .menu-profile-nav li a:active {
	color: #ff27a3;
	text-decoration: none;
}
*/

@media (max-width: 700px) {

	.footer .menu-footer-nav {
		flex-direction: column;
	}
	.footer .menu-footer-nav li,
	.footer .menu-footer-nav li:last-child {
		line-height: 1.8;
		border: none;
	}
}
@media (min-width: 768px) {
	.footer .menu-footer-nav li:first-child {
		border-left: 1px solid #fff;
		padding-left: .5em;
	}
	.footer .menu-footer-nav li:last-child {
		border-right: 1px solid #fff;
		padding-right: .5em;
	}
}
@media (min-width: 992px) {
	.footer .menu-footer-nav li {
		padding: 0 .7em;
		font-size: 15px;
	}
}


/* === Form === */

/* --- SMF --- */
.smf-item__label {
	position: relative;
	white-space: nowrap;
	line-height: 1.5;
}
.smf-item__label:before {
	margin-right: 4px;
	font-size: 20px;
	font-family: FontAwesome;
	content: var(--rb-fa-check);
	/*color: var(--rb-key-color-pale);*/
	background: linear-gradient(0deg, #000, var(--rb-key-color) 40%, var(--rb-key-color-pale));
	background: -webkit-linear-gradient(0deg, #000, var(--rb-key-color) 40%, var(--rb-key-color-pale));
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.smf-item.required .smf-item__label:after {
	display: inline-block;
	margin-left: 5px;
	padding: 1px 5px;
	line-height: 1.4;
	content: '必須';
	font-size: 13px;
	color: var(--rb-required-color);
	border: 1px solid var(--rb-required-color);
	border-radius: 2px;
}


.smf-form .smf-item .smf-text-control__control,
.smf-form .smf-item .smf-textarea-control__control {
	border-radius: 0;
}
.smf-form .smf-item .smf-text-control__control:focus-within,
.smf-form .smf-item .smf-textarea-control__control:focus-within {
	border-color: var(--rb-key-color-pale);
	border-width: 2px;
}

.smf-action .smf-button-control__control {
	padding: .1rem 2rem;
	width: fit-content;
	color: var(--rb-key-color);
	background-color: #fff;
	background-image: initial;
	font-family: var(--rb-sanserif-face), sans-serif;
	font-size: 18px;
	border: 1px solid var(--rb-key-color);
	border-radius: 0;
	transition: color .5s, border-color .5s;
}
.smf-action .smf-button-control__control:hover,
.smf-action .smf-button-control__control:active  {
	color: var(--rb-key-color-pale);
	border-color: var(--rb-key-pale);
}


/* Search form (header) */
/*
.search-form input[type="search"] {
	height: 25px;
	width: 100%;
	left: 3px;
	border: 1px solid #000;
	border-radius: 0;
	box-shadow: none;
	color: #000;
	padding: 4px 4px 4px 18px;
	caret-color: #ff27a3;
}

.search-form input[type="submit"] {
	width: 40px;
	height: 25px;
	margin-left: 10px;
	background-image: url('images/b_search.svg');
	background-repeat: no-repeat;
	border: none;
	border-radius: 0;
	cursor: pointer;
	text-indent: -9990px;
}
.search-form .clear-btn {
	position: absolute;
	height: 23px;
	top: 1px;
	left: 5px;
	margin: 0;
	padding: 6px 3px 6px;
	line-height: 1;
	z-index: 99;
	color: #bbb;
	font-size: 12px;
	cursor: pointer;
}
.search-form .checkbox-group {
	margin: 20px 0 20px 11px;
	font-size: 15px;
}
.search-form .checkbox-group .pretty {
	margin-right: 0;
}
header .search-form .checkbox-group {
	display: none;
}
.search-form .checkbox-group label {
	font-weight: normal;
	margin: 0 1em 0 0;
	width: 6em;
}

.search-form .input-group-btn:last-child >.btn {
	margin-left: 10px;
}

.search-results #contents .search-form {
	margin-bottom: 3em;
}
.found_article {
	margin: 1em .5em;
}
*/

/* pretty checkbox */
.pretty .state label:before {
	border-color: #aaa;
}
.pretty input:checked~.state.p-danger-o label:before {
	border-color: #000;
}
.pretty input:checked~.state.p-danger-o .icon {
	color: #333;
	stroke: #333;
}


/* --- password form --- */

.post-password-form {
	height: 30vh;
}

.post-password-form p:nth-child(2) {
	display: flex;
}
.post-password-form label {
	margin-bottom: 0;
	white-space: nowrap;
}
.post-password-form input[type="password"] {
	border: 1px solid #000;
	border-radius: 0;
}
.post-password-form input[type="submit"] {
	margin-left: 10px;
	color: #fff;
	background: var(--rb-key-color);
	-webkit-appearance: none;
	font-weight: 400;
	letter-spacing: 2px;
	border: 1px solid var(--rb-key-color);
	border-radius: 0;
}
@media (max-width: 400px) {
	.post-password-form input[type="password"] {
		width: calc(100vw - 200px);
	}
}


/* --- Form common --- */
/*
.form_container {
	padding: 0 5em 0;
}
.form_container .btn_container {
	text-align: center;
	margin-top: 3em;
}
*/


/* === pagination === */

/*
.pagination > li > span,
.pagination > li > a {
	font-size: 18px;
	font-weight: bold;
}
.pagination > li > span {
	color: #fff!important;
	background-color: #000!important;
	border-color: #000!important;
}
.pagination > li > a {
	color: #666!important;
	border-color: #999!important;
}
.pagination > li > a:focus, 
.pagination > li > a:hover {
	color: #000!important;
	border-color: #999!important;
}
.pagination > li > span:focus, 
.pagination > li > span:hover {
	color: #fff;
}
*/

/* === 404 & nothing found === */


.error404 #main,
.search-no-results #main {
	height: 60vh;
}



