@charset "UTF-8";
/*
Theme Name:   SEIKATSU-JOSHI
Description:  THE SONICカスタマイズ用子テーマ
Author:       SONIC Team / tenmedia
Author URI:   https://the-sonic.jp
Template:     thesonic
Version:      1.0.0
License:      GNU General Public License v2 or later
License URI:  http://www.gnu.org/licenses/gpl-2.0.html
*/


*{ margin:0; padding:0;}
body { background:#fff!important; font-size: 16px!important;}
img { vertical-align:bottom;}
ul, li { list-style:none;}
a { color:#333; text-decoration:none;}
a:hover { text-decoration:none;}
p { margin-bottom:0;}

:root {
--maincolor: #e89dc1;
--subcolor: #fad3d3;
--bgcolor: #fff;
--subcolor-op2: rgba(0,0,0,0.1);
}

#page-overview #header { background-color:#fad3d3; color:#fff;}
#main footer { background:none;}

#content { display:flex; flex-wrap:wrap; margin:0 auto;}
#main { width:100%;}
#main h1 { font-weight:700;}
#sidebar { width:100%;}
#sidebar h2 { font-weight:700;}

#header { width:100%; position:fixed; top:0;}
#header .header-logo { margin:0 0; height:56px;}
#header .header-logo a { display:inline-block; padding:0 16px; line-height:56px;}
#header .header-logo a img { width:120px; height:46.5px; vertical-align:middle;}
#content { padding-top:106px;}
@media screen and (max-width: 768px) {
	#content { padding-top: 56px; }
}

.rectangle { margin:16px auto; width:300px; height:250px; background:#f0f0f0;}
.mobileonly { display:block;}
.pconly { display:none;}
@media screen and (min-width : 1080px) {
	.mobileonly { display:none;}
	.pconly { display:block;}
}

.header-navigation { display:none;}
.hamburger-menu { width:56px; height:56px; display:flex; align-items:center; justify-content:center; position:absolute; left:auto; right:0; top:0;}
.menu-open { flex:0 0 auto; display:block; height:56px; width:56px; font-size:40px; line-height:56px; color:#fff;}
.menu-open::before { content:"\e5d2"; font-family:Material Icons; cursor:pointer;}
.menu-close { position:absolute; top:50%; left:-60px; width:56px; height:56px; text-align:center; line-height:56px; font-size:40px; color:#eee; z-index:15;}
.menu-close::before { content:"\e5cd"; font-family:Material Icons; cursor:pointer;}
.menu { position:fixed; top:0; right:0;}
.menu.showing { width:100%; height:100vh; z-index:12;}
.menu-inner { display:none; width:75%; max-width:600px; height:100vh; background:#f0f0f0; position:absolute; top:0; right:0; z-index:14; position:fixed;}
.showing .menu-inner { display:block;}
.menu-inner-scrollable { width:100%; height:100vh; padding:56px 16px; box-sizing:border-box;overflow-y:scroll;}
.menu .cat-list li a { display:block; color:#222; font-size:24px; font-weight:bold; margin-bottom:16px;}
.menu .cat-list li ul a { font-size:18px; font-weight:normal; padding-left:1em;}
.nav-background { display:none;}
.showing .nav-background { display:block; width:100%; height:100vh; background:rgba(0,0,0,0.5); position:fixed; top:0; left:0; z-index:13;}
.search-form { display:flex; position:relative;}
.search-form .search-input { flex:1 1 auto; height:48px; border:solid 1px #666; padding:8px 16px; box-sizing:border-box; font-size:15px; width:100%; border-radius:24px;}
.search-form .search-button { flex:0 0 auto; height:48px; width:48px; border:none; background:none; color:#666; text-align:center; cursor:pointer; position:absolute; right:0;}
.search-form .search-button::before { content:"\e8b6"; font-family:Material Icons; font-size:30px; line-height:48px;}
@media screen and (min-width : 768px) {
	.menu-inner { padding:56px 24px;}
}

#top-carousel { width:100%; height:calc(100vw * 1.2); background:#aaa; flex:0 0 auto;}
@media screen and (min-width : 768px) {
	#top-carousel { height:calc(100vw * 0.5625);}
}
@media screen and (min-width : 960px) {
	#top-carousel { max-height:650px;}
	.header-navigation { display:block; background:#fff;}
	.header-navigation ul { display:flex; gap:0 24px; padding:8px 0; justify-content:center; flex-wrap:nowrap; }
	.header-navigation ul a { display: block; font-size:14px; color:#333; line-height:40px; word-break:keep-all; white-space:nowrap;}
	.header-navigation ul.overflow { justify-content:start; overflow-x:scroll;}
	.header-navigation ul.overflow li:first-child { padding-left:24px;}
	.header-navigation ul.overflow li:last-child { padding-right:24px;}
}

#top-content { width:100%; max-width:1200px; margin:0 auto;}
#top-content section { flex:0 0 auto; width:100%; padding-bottom:32px;}
#top-content section header { padding:16px;}
#top-content section h1 { font-size:30px; font-weight:bold; position:relative;}
#top-content section h1 span { display:block; font-size:16px; font-weight:normal; color:#666;}
#top-content section h1::after { content:""; display:block; width:80px; height:80px; border-radius:50%; background:var(--subcolor); position:absolute; left:-24px; top:-8px; opacity:0.5; z-index:-1;}
@media screen and (min-width : 960px) {
	#top-content section header { padding:24px;}
}
.site-description { width:100%; height:240px; display:flex; justify-content:center; align-items:center; margin-bottom:8px; position:relative;}
.site-description p { flex:0 0 auto; color:var(--maincolor);}
.show-text { width:17em; box-sizing:border-box; position:relative;}
.show-text span { width:17em; display:block; font-size:17px; font-weight:bold; letter-spacing:0; color:#f49e9e; white-space:nowrap; overflow:hidden; animation:typing 3.5s steps(17), blink .5s steps(1) infinite alternate; background:rgba(255,255,255,0.2);}
.show-text::before { content:""; display:inline-block; width:3px; height:100%; background:rgba(255,255,255,0.2); position:absolute; top:0; left:-3px;}
.background-video { width:100%; height:240px; object-fit:cover; position:absolute; top:0; left:0;}
@keyframes typing{
	0% { width: 0;}
}
@media screen and (min-width : 480px) {
	.site-description { height:calc(100vw * 0.5);}
	.background-video { height:calc(100vw * 0.5);}
	.show-text span { font-size:20px;}
}
@media screen and (min-width : 960px) {
	.site-description { max-height:480px;}
	.background-video { max-height:480px;}
}

.article-list { display:flex; flex-wrap:wrap; justify-content:center;}
.article-list .item { flex:0 0 auto; width:calc(100% - 32px); margin-bottom:16px;}
@media screen and (min-width : 768px) {
	.article-list { margin-left:16px; justify-content:start;}
	.article-list .item { flex:0 0 auto; width:calc((100% - 32px) / 2); margin-right:16px;}
}
@media screen and (min-width : 960px) {
	.article-list { margin-left:24px;}
	.article-list .item { width:calc((100% - 48px) / 2); margin-right:24px; margin-bottom:24px;}
}
@media screen and (min-width : 1080px) {
	.article-list .item { width:calc((100% - 72px) / 3);}
}
.article-list .item a { display:block; height:100%; border-radius:0px; overflow:hidden; background:#fff; box-shadow:3px 3px 8px rgba(111,111,111,0.1), -1px -1px 8px rgba(111,111,111,0.1); transition:all 0.8s;}
.article-list .item a:hover { box-shadow:3px 3px 8px rgba(111,111,111,0.2), -1px -1px 8px rgba(111,111,111,0.2);}
.article-list .item a:hover img { transform: scale(1.05); transition-duration: 1.5s;}
.article-list .item a article { display:flex; flex-wrap:wrap;}
.article-list .item .thumbnail { flex:0 0 auto; width:100%; min-height:56px; background:#f0f0f0; overflow:hidden; border-radius:0 0 0 0; z-index:1;}
.article-list .item .thumbnail img { width:100%; height:auto; object-fit:cover; transition:all 0.5s;}
.article-list .item .thumbnail img.noimage { object-fit:contain;}
.article-list .item .metadata { flex:1 1 auto; padding:16px 16px 32px; position:relative;}
.article-list .item .title { font-size:16px; font-weight:bold; color:#333; line-height:1.3; height:3.9em; overflow:hidden;}
.article-list .item .categories { display:none;}
.article-list .item .time { color:#bbb; font-size:13px; line-height:24px; position:absolute; left:16px; bottom:8px;}
.article-list .item.small-image a article { flex-wrap:nowrap; height:100%;}
.article-list .item.small-image .thumbnail { width:50%; border-radius:0;}
.article-list .item.small-image .thumbnail img { height:100%; object-fit:contain;}
.article-list .item.small-image .metadata { width:50%; padding:8px 16px 24px;}
.article-list .item.small-image .title { font-size:14px;}
.article-list .item.small-image .time { font-size:12px; line-height:16px;}
@media screen and (min-width : 480px) {
	.article-list .item .title { font-size:18px;}
	.article-list .item.small-image .title { font-size:15px;}
}
@media screen and (min-width : 768px) {
	.article-list .item .title { font-size:20px;}
}

.button { padding:32px 0; margin-bottom:0;}
.button a { display:block; text-align:center; color:#fff; background:var(--subcolor); font-size:18px; font-weight:bold; line-height:48px; border-radius:24px; width:70%; max-width:320px; margin:0 auto; transition:all .5s; position:relative;}
.button a::after { content:"\e409"; font-family:Material Icons; position:absolute; right:16px;}
.button a:hover { box-shadow:0 2px 5px rgba(0,0,0,0.2);}

.main-list-header { width:100%; padding:24px 0; display:flex; flex-direction:column; justify-content:center; margin-bottom:16px;}
.main-list-header h1 { text-align:center; padding:0 24px; font-size:30px;}
.main-list-header .description { text-align:center; padding:0 24px; font-size:15px;}

.main-list-footer { padding:16px;}
.main-list-footer ul { margin:0;}
.main-list-footer .page-numbers a { background:#f0f0f0;}
.main-list-footer .page-numbers.prev { display:none;}
.main-list-footer .page-numbers.next { display:none;}
@media screen and (min-width : 960px) {
	.main-list-header { margin-bottom:24px;}
}
@media screen and (min-width : 1080px) {
	.main-list .article-list { max-width:1200px; padding-left:24px; margin:0 auto;}
}


.article-header .featured-image { width:100%; height:auto; max-height:500px; background-color:var(--subcolor-op2); background-size:cover; background-repeat:no-repeat; position:relative; z-index:0; overflow:hidden;}
.article-header .featured-image::before { content: ''; position: absolute; top: -10px; bottom: -10px; left: -10px; right: -10px; background: inherit; filter: blur(10px); z-index:-1;}
.article-header .featured-image img { width:100%; height:auto; max-height:500px; object-fit:cover; z-index:2;}
.article-header .metadata { padding:8px 16px 16px;}
.article-header h1 { font-size:24px; font-weight:bold; line-height:1.3; margin-bottom:16px;}
.article-header .time { font-size:13px; color:#888;}
.article-header .promotion-note { font-size:11px; color:#666; display:inline-block; background:#f0f0f0; margin-bottom:8px; padding:0 5px;}

.article-body { padding:16px;}
.article-body .content > p { margin-bottom:2em;}
.article-body .content > figure { margin-bottom:2em;}
.article-body .content figcaption { font-size:13px; color:#888;}
.article-footer { padding:16px;}
.article-footer .metadata { border-top:solid 1px #eee; padding:16px 0;}
.article-footer .categories { padding:16px 0;}
.article-footer .category-list ul { display:flex; flex-wrap:wrap;}
.article-footer .category-list a { display:inline-block; padding:0 16px; font-size:15px; line-height:32px; border-radius:16px; background:#eee; color:#888; margin:0 8px 8px 0;}
.article-footer .tags { padding:16px 0;}
.article-footer .tag-list ul { display:flex; flex-wrap:wrap;}
.article-footer .tag-list a { display:inline-block; padding:0 16px; font-size:15px; line-height:32px; border-radius:16px; background:#eee; color:#888; margin:0 8px 8px 0;}
.article-footer .tag-list a::before { content:"#";}
.related-posts { padding:16px;}
.related-posts h3 { padding-bottom:16px; font-size:24px; font-weight:bold;}
.related-posts .article-list { padding-left:0; margin-left:0; justify-content:space-between;}
.related-posts .article-list .item { width:calc((100% - 16px) / 2); margin-bottom:16px;}
.related-posts .article-list .item .title { padding:16px; font-size:15px; height:auto;}
@media screen and (min-width : 768px) {
	.related-posts .article-list { justify-content:start; margin-right:-16px;}
	.related-posts .article-list .item { width:calc((100% - 48px) / 3); margin-right:16px;}
}
.author { padding:24px 0; border-top:solid 1px #ddd; border-bottom:solid 1px #ddd; display:flex;}
.author .icon { width:86px; text-align:center;}
.author .icon img { width:70px; height:70px; border-radius:50%;}
.author .name { font-size:12px; font-weight:bold; line-height:1.4;}
.author .profile { width:calc(100% - 86px);}
.author .profile p { font-size:14px; padding-left:16px; line-height:1.5; margin-bottom:4px;}
.author .site a[href*="twitter.com"] { display:block; width:30px; height:30px; border-radius:50%; background:#1DA1F2; text-align:center;}
.author .site a[href*="twitter.com"]::before { content: "\f099"; font-family:"Font Awesome 5 Brands"; color:#fff; line-height:30px; font-size:18px;}

@media screen and (min-width : 768px) {
	.author .icon { width:120px;}
	.author .name { font-size:15px;}
	.author .profile { width:calc(100% - 120px);}
}

.comments { padding:12px 16px;}
.comment-body-simple .comment-content p { font-size: 12px; line-height: 1.5; margin-bottom: 4px;}
.comment-body-simple .comment-main-line,
.comment-body-simple .comment-post-link,
.comment-body-simple .comment-date {
	overflow: hidden;
	padding: 2px 0;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.comment-body-simple .comment-main-line {
	display: flex;
	gap: 0.5em;
}
.comment-body-simple .comment-author-name {
	flex: 0 0 auto;
	font-weight: bold;
}
.comment-body-simple .comment-text-excerpt {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.comment-body-simple .comment-post-link a { color: #0066cc; text-decoration: underline;}
.comment-body-simple .comment-date { color: #999; font-size: 11px;}
.comment-cat-tags {
	display: flex;
	flex-wrap: wrap;
	justify-content: right;
	gap: 5px;
	margin-bottom: 10px;
}

.comment-cat-tags ul {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.comment-cat-tags ul li {
	background-color: #f0f0f0;
	padding: 2px 8px;
	border-radius: 4px;
	font-size: 0.9em;
	color: #333;
}
@media screen and (max-width: 767px) {
	.comment-cat-tags {
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.comment-cat-tags ul {
		flex-wrap: wrap;
	}
}
@media screen and (min-width : 960px) {
	.article-header .featured-image img { object-fit:contain;}
	.article-header .metadata { padding:24px; max-width:800px; margin:0 auto; box-sizing:border-box;}
	.article-header h1 { font-size:32px; margin-bottom:24px;}
	.article-body { padding:24px; max-width:800px; margin:0 auto; box-sizing:border-box;}
	.article-footer { padding:24px; max-width:800px; margin:0 auto; box-sizing:border-box;}
	.related-posts { padding:24px; max-width:800px; margin:0 auto; box-sizing:border-box;}
	.related-posts .article-list { justify-content:start; margin-right:-24px;}
	.related-posts .article-list .item { width:calc((100% - 72px) / 3); margin-right:24px;}
	.comments { padding:16px 24px; max-width:860px; margin:0 auto; box-sizing:border-box;}
}
.breadcrumbs { display:none;}
@media (min-width: 1080px) {
	.breadcrumbs { display:block; border-top:solid 1px #eee;}
	.breadcrumbs ol { font-size:13px; padding:24px; box-sizing:border-box; max-width:1200px; margin:0 auto; display:flex; flex-wrap:wrap;}
	.breadcrumbs ol + ol { padding:0 24px 24px;}
	.breadcrumbs li:not(:last-child)::after { content: "\e409"; font-family: Material Icons; vertical-align: bottom; opacity:1; font-weight:bold; margin:0 5px;}
}

.static-page .article-header { padding-top:56px;}

#sidebar { display:block; padding:0; border-top:solid 1px #eee;}
#sidebar .sidebar-content-header { padding:16px;}
#sidebar .sidebar-content h3 { font-size:30px; font-weight:bold; position:relative;}
#sidebar .sidebar-content h3 span { display:block; font-size:16px; font-weight:normal;}
#sidebar .sidebar-content h3::after { content:""; display:block; width:80px; height:80px; border-radius:50%; background:var(--subcolor); position:absolute; left:-24px; top:-8px; opacity:0.5; z-index:-1;}

@media screen and (min-width : 960px) {
	#sidebar .sidebar-content{ max-width:1200px; margin:0 auto;}
	#sidebar .sidebar-content-header { padding:24px;}
}

#footer { background:#ddd;}
#footer .genre-title { text-align:center; font-size:12px; color:#888; margin-top:24px;}
#footer .footer-container { display:flex; flex-wrap:wrap; padding-top:32px;}
#footer .footer-left { flex:0 0 auto; width:100%;}
#footer .footer-right { flex:0 0 auto; width:100%;}
#footer .footer-bottom { flex:0 0 auto; width:100%; background:#333;}
#footer nav { padding:16px 16px; box-sizing:border-box;}
#footer .footer-logo { text-align:center;}
#footer .footer-logo a { display:inline-block;}
#footer .footer-logo a:hover { background-color:transparent;}
#footer .footer-logo a img { width:200px; height:auto; vertical-align:middle;}
#footer .site-list { flex:0 0 auto; width:100%; display:flex; flex-wrap:wrap; justify-content:center; align-items:center; margin-top:20px;}
#footer .site-list li { padding:8px 16px;}
#footer .site-list li img { width:88px; height:auto; vertical-align:middle;}
#footer .footer-recommend h2 { font-size:16px;}
#footer .footer-recommend li a { font-size:13px; color:#666;}
#footer .sub-menu li a { font-size:13px; color:#666;}
#footer .footer-menu { display:flex; justify-content:center; flex-wrap:wrap; flex-direction:column;}
#footer .footer-menu li { flex:0 0 auto;}
#footer .footer-menu a { color:#fff; font-size:13px;}
#footer .footer-bar { background:#222;}
#footer .copyright { font-size:12px; color:#ddd; text-align:right; padding:8px 16px; margin:0 auto;}

/* TOPページ限定：固定パーツ top-footer-links 用（footer-menu と同じ見た目） */
#footer .footer-site-links {
	padding: 16px 16px 0;
	box-sizing: border-box;
	text-align: center;
	font-size: 13px; /* footer-menu と同じ */
	color: #000000; /* footer-menu と同じ */
}
#footer .footer-site-links__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px 16px;
	line-height: 1.6;
}
/* the_content 由来の段落/改行があっても横並びに寄せる */
#footer .footer-site-links__inner > p {
	margin: 0;
	display: contents;
}
#footer .footer-site-links__inner br {
	display: none;
}
#footer .footer-site-links__inner a {
	display: inline-block;
	white-space: nowrap;
	font-size: inherit;
	color: inherit;
}
/* 推奨：固定パーツを ul.footer-site-links__list/li で作った場合 */
#footer .footer-site-links__list {
	display: flex;
	flex-wrap: wrap;
	row-gap: 10px;
	align-items: center;
	justify-content: center;
}
#footer .footer-site-links__list li {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
}
#footer .footer-site-links__list li::after {
	content: "|";
	display: inline-block;
	margin: 0 10px;
	color: #000000;
}
#footer .footer-site-links__list li:last-child::after {
	content: "";
	margin: 0;
}
@media (min-width: 768px) {
	#footer .footer-menu { flex-direction:row;}
	#footer .footer-menu li::before { content:"/"; color:#fff; display:inline-block; padding:0 1em;}
	#footer .footer-menu li:first-child::before { content:""; padding:0;}
}
@media (min-width: 1080px) {
	#footer { overflow:hidden;}
	#footer .footer-container { justify-content:center; flex-direction:row;}
	#footer .footer-left { width:40%; border-right:solid 1px #ccc;}
	#footer .footer-right { width:40%;}
	#footer .footer-bottom { margin-top:32px;}
	#footer .footer-left nav, #footer .footer-right nav { padding:32px;}
	#footer .copyright { padding:8px 24px;}
}

.google-form input { border:solid 1px #ccc; height:1.8em; line-height:1.8em; padding:0 2px;}
.google-form textarea { border:solid 1px #ccc; line-height:1.8em; padding:0 2px;}
.google-form button { background:#888; color:#fff; padding:5px 8px; border:none; border-radius:4px;}

#comments { padding: 24px; max-width: 860px; margin: 0 auto; box-sizing: border-box; }
@media screen and (max-width: 768px) {
	#comments #open-form { width: 80%; }
	#comments #open-form span { font-size: 12px; }
}
#comments h2 { margin-bottom:16px;}
#comments input { border:solid 1px #ccc;}
#comments input.submit { border:none;}
#comments .comment-meta { padding:0 0 6px; flex-direction:row; background: none;}
#comments .comment-author img { width:32px; height:32px; object-fit:cover;}
#comments .comment-author .says { display:none;}
#comments .comment-content { padding:0;}
#comments .comment-content p { font-size:12px; padding:0; margin-bottom:8px;}
#comments .comment-body-simple .comment-content p { margin-bottom:4px;}
#comments .comment-body-simple .comment-main-line,
#comments .comment-body-simple .comment-post-link,
#comments .comment-body-simple .comment-date { padding:3px 0;}
#comments .comment-body-simple .comment-date { color:#999; font-size:11px;}
#comments .comment-body-simple .comment-post-link a { color:#0066cc;}
#comments .comment-reply-title { font-size:14px; padding:16px 0;}
#comments .logged-in-as { font-size:14px;}
#comments .reply { padding:0; margin:0;}
#comments .bypostauthor { background-color:transparent;}
#comments-list { padding:6px 12px; background:#f6f6f6; border-radius:12px;}
#comments-list li { border: none; border-bottom:1px dotted #ccc; }
#comments-list li:last-child { border-bottom:none; }
#comments-list li article { background:transparent; padding:8px 0; border-radius:0; margin-bottom:0;}
#comments-list .children li { position:relative;}
#comments-list .children li::before { content:""; display:block; width:16px; height:16px; transform:rotate(45deg); background:#f6f6f6; position:absolute; top:-8px; left:24px; z-index:-1;}
#comments-list .children { margin-left:40px;}
#comments-list .comment.parent:not(:last-child) { border-bottom:none; padding-bottom:0; margin-bottom:0;}
.kanren-kiji-title { display:none;}
.kanren-kiji .main-kiji { width:100%; border-radius:16px; overflow:hidden; background:#fff; box-shadow:3px 3px 8px rgba(111,111,111,0.1), -1px -1px 8px rgba(111,111,111,0.1); margin-bottom:16px;}
.kanren-kiji .main-kiji a { transition:all 0.8s;}
.kanren-kiji .kiji-img { width:30%; max-width:160px;}
.kanren-kiji .kiji-text { width:70%; max-width:calc(100% - 160px); padding:16px; box-sizing:border-box;}
.kanren-kiji .kiji-img .thumbnail { background:#eee;}
.kanren-kiji .kiji-img .thumbnail img { display:none;}
.updatedate i::before { content:"\e5d5"; font-family:Material Icons; vertical-align:bottom;}
.postdate i::before { content:"\e8b5"; font-family:Material Icons; vertical-align:bottom;}
.readtime i::before { content:"\e54b"; font-family:Material Icons; vertical-align:bottom;}
.footer-right .recommend a::before { content:"\e037"; font-family:Material Icons;}
.footer-right .links a::before { content:"\e9ba"; font-family:Material Icons;}
.footer-container a:hover { background-color: transparent;}
.comment-form-comment { margin-bottom:16px;}
.comment-reply-title::before { content:none; display:none;}
.catetagbox-label { display:none;}
.category-area li a { display:inline-block; background:#fff; padding:2px 8px; border-radius:4px; margin-right:6px;}
.category-area li a::before { content:none;}
.tag-area li a:before { content:"#";}
#mkj { margin-top:1em; border:solid 2px #eee;}
#mkj .mkj-title { border-bottom:none; text-align:center; padding:16px;}
#mkj .mkj-openclose { top:16px;}
#mkj .mkj-content { border-bottom:none;}
#mkj .mkj-content-in { background:none; padding:16px;}
#mkj .mkj-list { padding:0;}
#mkj .mkj-list li { padding-left:32px; position:relative; margin-bottom:4px;}
#mkj .mkj-list li ol { padding-left:0;}
#mkj .mkj-list li ol li { padding-left:16px;}
#mkj .mkj-list a { font-size:15px; font-weight:bold; padding:0; color:#666;}
#mkj .mkj-content::after { content:none;}
#mkj .mkj-list>li:before { content:counter(num); background:var(--maincolor); border-radius:50%; color:#fff; position:absolute; top:4px; left:0; width:24px; height:24px; text-align:center; font-size:14px; font-weight:bold;}
#mkj .mkj-list ol li:before { content:""; width:5px; height:5px; background:#666; top:10px; left:2px;}
#mkj .mkj-list ol li a { font-weight:normal; font-size:13px;}
@media screen and (min-width : 960px) {
	#mkj .mkj-content-in { padding:24px;}
}
.scrolltop { display:none;}
@media screen and (min-width : 1080px) {
.scrolltop { display:block;}
.scrolltop-button { position:fixed; right:32px; bottom:64px; border:none; background:var(--maincolor); text-align:center; display:block; width:56px; height:56px; line-height:56px; z-index:99; border-radius:0; color:#fff; opacity:0; transition:all 1s ease;}
.scrolltop-button::before { content:"\e5d8"; font-family:Material Icons; font-size:50px;}
}

.wp-block-table a.button { display:inline-block; padding:0 16px; line-height:40px; background:#1a73e8; color:#fff; font-weight:bold; border-radius:20px; font-size:14px; box-shadow:0 1px 2px #ddd; transition:all 0.5s;}
.wp-block-table a.button:hover { background:#488fed;}

.blogcard { border:solid 3px var(--subcolor); padding:12px; position:relative; margin:40px 0 32px; box-sizing:border-box;}
.blogcard h5 { font-size:16px; line-height:24px; font-weight:bold; background:#f7bcbc; color:#fff; border-radius:4px 4px 0 0; display:inline-block; padding:2px 12px; position:absolute; top:-28px; left:-3px;}
.blogcard a { display:flex; flex-wrap:wrap;}
.blogcard a img { width:100%; height:auto; margin-bottom:8px; object-fit:contain;}
.blogcard a span { font-size:15px; font-weight:bold; line-height:1.4;}
@media (min-width: 480px) {
.blogcard { padding:16px;}
.blogcard a { flex-wrap:nowrap;}
.blogcard a img { width:160px; margin-right:12px; margin-bottom:0;}
}

#pr-content-ranking .ranking { font-size: 1rem; font-weight: 700; color: #777; text-align: center; padding: 10 0 auto; margin: 20 0 auto0; }
#pr-content-ranking .ranking img { margin-bottom: 10px; margin-top: -auto; background-color: #fff; border-collapse: collapse; }
#pr-content-ranking .ranking th { font-size: 1.3rem; color: #777; background-color: #f9f9f9; width: 15% !important; min-width: 15% !important; height: 50px; }
#pr-content-ranking .ranking td,
#pr-content-ranking .ranking th { border: solid 1px; border-color: #aeaeae; }
#pr-content-ranking .ranking td { padding: 15px; background-color: #fff; }
#pr-content-ranking .img__assessment,
#pr-content-ranking .img__title { text-align: center; margin-top: 1pc; }
#pr-content-ranking .slider_box { width: 100%; height: auto; margin-left: auto; margin-right: auto; margin-bottom: 1pc; position: relative; overflow: hidden; background-color: #f3f; }
#pr-content-ranking .swiper-container { width: 100%; }
#pr-content-ranking .swiper-slide img { width: 100%; height: auto; object-fit: cover; vertical-align: bottom; }
#pr-content-ranking .slider-thumbnail2 .swiper-slide,
#pr-content-ranking .slider-thumbnail3 .swiper-slide,
#pr-content-ranking .slider-thumbnail .swiper-slide { opacity: 0.5; transition: opacity 0.5s; width: 20%; }
#pr-content-ranking .slider-thumbnail2 .swiper-slide.swiper-slide-thumb-active,
#pr-content-ranking .slider-thumbnail3 .swiper-slide.swiper-slide-thumb-active,
#pr-content-ranking .slider-thumbnail .swiper-slide.swiper-slide-thumb-active { opacity: 1; }
#pr-content-ranking .character_slider_box2 { width: 100%; height: auto; margin-left: auto; margin-right: auto; position: relative; overflow: hidden; }
#pr-content-ranking .character_slider_box2 .swiper-slide img { height: auto; object-fit: cover; vertical-align: bottom; }
#pr-content-ranking .swiper-button-next:after,
#pr-content-ranking .swiper-button-prev:after { bottom: 0; content: ''; height: 0; margin: auto; position: absolute; top: 0; width: 0; }
#pr-content-ranking .swiper-button-next,
#pr-content-ranking .swiper-button-prev { height: 50px; width: 50px; border-radius: 50%; background-color: #000; opacity: 0.5; position: relative; display: inline-block; padding-left: 20px; text-decoration: none; }
#pr-content-ranking .swiper-button-prev:before { border-left: solid 3px #fff; left: 17px; transform: rotate(-45deg); }
#pr-content-ranking .swiper-button-next:before,
#pr-content-ranking .swiper-button-prev:before { content: ''; width: 9pt; height: 9pt; border: 0; border-top: solid 3px #fff; position: absolute; top: 15px; }
#pr-content-ranking .swiper-button-next:before { border-right: solid 3px #fff; right: 17px; transform: rotate(45deg); }
#pr-content-ranking .fukidashi,
#pr-content-ranking .fukidashi img { text-align: center; }
#pr-content-ranking .fukidashi img { width: 450px; }
#pr-content-ranking .fukidashi.popup { animation-name: a; animation-duration: 0.2s; animation-timing-function: ease-in-out; animation-fill-mode: forwards; -webkit-animation-name: a; -webkit-animation-duration: 0.2s; -webkit-animation-timing-function: ease-in-out; -webkit-animation-fill-mode: forwards; -moz-animation-name: a; -moz-animation-duration: 0.2s; -moz-animation-timing-function: ease-in-out; -moz-animation-fill-mode: forwards; }
@keyframes a { 0 { transform: translateY(50px) scale(0.6); opacity: 0; } to { transform: translateY(0) scale(1); } 80%, to { opacity: 1; } }
@-webkit-keyframes a { 0 { transform: translateY(50px) scale(0.6); opacity: 0; } to { transform: translateY(0) scale(1); } 80%, to { opacity: 1; } }
@-moz-keyframes a { 0 { transform: translateY(50px) scale(0.6); opacity: 0; } to { transform: translateY(0) scale(1); } 80%, to { opacity: 1; } }
#pr-content-ranking .fukidashi.poyo { opacity: 1; animation: b 2s ease-in-out infinite; -webkit-animation: b 2s ease-in-out infinite; -moz-animation: b 2s ease-in-out infinite; }
@keyframes b { 0 { transform: scale3d(1.05, 1.05, 1.05); } 50% { transform: scaleX(1); } }
@-webkit-keyframes b { 0, to { transform: scale3d(1.05, 1.05, 1.05); } 50% { transform: scaleX(1); } }
@-moz-keyframes b { 0, to { transform: scale3d(1.05, 1.05, 1.05); } 50% { transform: scaleX(1); } to { transform: scale3d(1.05, 1.05, 1.05); } }
#pr-content-ranking .fukidashi.poyo2.poyo { opacity: 1; animation-name: c; animation-duration: 1s; animation-timing-function: ease-out; animation-iteration-count: infinite; -webkit-animation-name: c; -webkit-animation-duration: 1s; -webkit-animation-timing-function: ease-out; -webkit-animation-iteration-count: infinite; -moz-animation-name: c; -moz-animation-duration: 1s; -moz-animation-timing-function: ease-out; -moz-animation-iteration-count: infinite; }
@keyframes c { 0, 40%, 60%, 80%, to { transform: scale(1); } 30%, 50% { transform: scale(0.9); } }
@-webkit-keyframes c { 0, 40%, 60%, 80%, to { transform: scale(1); } 30%, 50% { transform: scale(0.9); } }
@-moz-keyframes c { 0, 40%, 60%, 80%, to { transform: scale(1); } 30%, 50% { transform: scale(0.9); } }
#pr-content-ranking .sway { animation: d 1.5s forwards infinite ease; text-align: center; margin-top: 1pc; margin-bottom: 24px; }
@keyframes d { 0, 20% { transform: translateX(0); } 40% { transform: translateX(10px); } 50% { transform: translateX(-10px); } 60% { transform: translateX(7px); } 70% { transform: translateX(-7px); } 80% { transform: translateX(4px); } to { transform: translateX(0); } }
#pr-content-ranking .item__card { display: grid; grid-template-columns: 2fr 3fr; grid-template-rows: 40px auto; column-gap: 20px; row-gap: 10px; margin-top: 1pc; }
#pr-content-ranking .rank__box { display: block; grid-column: 1; grid-row: 1; width: 70px; height: auto; position: relative; justify-self: center; }
#pr-content-ranking .rank__box img { width: 100%; height: auto; }
#pr-content-ranking .rank__number { color: #666; font-size: 20px; font-weight: 700; position: absolute; top: 15px; left: 50%; transform: translateX(-50%); -webkit-transform: translateX(-50%); -ms-transform: translateX(-50%); line-height: 2.5em; }
#pr-content-ranking .rank__top3 { color: #fff; }
#pr-content-ranking .rank__border { grid-column: 1/-1; grid-row: 1; }
#pr-content-ranking .rank_1 { border-bottom: solid 4px #fe748d; padding: 30px; }
#pr-content-ranking .rank__2 { border-bottom: solid 4px #9f9f9f; }
#pr-content-ranking .rank__3 { border-bottom: solid 4px #a26a44; }
#pr-content-ranking .item__image__box .wp-block-group__inner-container { display: block; }
#pr-content-ranking .item__image__box { grid-column: 1; grid-row: 2; margin: 0; position: relative; }
#pr-content-ranking .item__image img { width: 100%; object-fit: cover; border-radius: 10px; }
#pr-content-ranking .item__image__label { margin: 0; }
#pr-content-ranking .item__image__label img { position: absolute; left: unset; top: -20px; right: -20px; width: 50px; height: 50px; animation-name: e; animation-duration: 2s; animation-iteration-count: infinite; }
#pr-content-ranking .rank-head__label.no-animation img { animation: none; }
@keyframes e { 0 { transform: scale(0.1); } 30% { transform: scale(1); } 40% { transform: scale(0.8); } 50% { transform: scale(1); } 55% { transform: scale(0.8); } 60%, to { transform: scale(1); } }
#pr-content-ranking .item__card__r { grid-column: 2; grid-row: 2; margin-top: 15px; }
#pr-content-ranking .item__card__r a { color: #ff1493; }
#pr-content-ranking .item__card__r .wp-block-group__inner-container { display: block; }
#pr-content-ranking a.item__title { font-weight: 700; font-size: 18px; border-bottom: solid 1px #ff1493; }
#pr-content-ranking .star__rating__box .wp-block-group__inner-container { display: flex; }
#pr-content-ranking .star__rating__box { margin-top: 5px; }
#pr-content-ranking span.star-rating { font-size: 24px; top: -7px; }
#pr-content-ranking span.star { font-size: 24px; }
#pr-content-ranking .item__tag ul { margin: 0; margin-top: 10px; padding: 0; list-style: none; display: flex; gap: 5px; flex-wrap: wrap; }
#pr-content-ranking .item__tag ul li { font-size: 9pt; border: solid 2px #666; padding: 0 5px; font-weight: 700; box-sizing: border-box; list-style: 1; }
#pr-content-ranking .item__tag ul li.red { color: red; border-color: red; background-color: rgba(255, 0, 0, 0.1); }
#pr-content-ranking .item__tag ul li.green { color: green; border-color: green; background-color: rgba(0, 128, 0, 0.1); }
#pr-content-ranking .item__tag ul li.blue { color: blue; border-color: blue; background-color: rgba(0, 0, 255, 0.1); }
#pr-content-ranking .pr-content-top-image { width: 100vw; max-width: 100vw !important; margin-left: calc(50% - 50vw); }
#pr-content-ranking .rank__box > figure { margin: 12px 0 20px; }
#pr-content-ranking .item__image__box .item__image { margin: 15px 0 1em; }

.pinkline {font-weight: bold; background: linear-gradient(transparent 60%, #fedee7 60%); color: #111; padding: 0 1px 2px}
.yellowline {font-weight: bold; background: linear-gradient(transparent 60%, #fff9ab 60%); color: #111; padding: 0 1px 2px}

.cat-list .cat-item .children {
    display: none;
    position: absolute;
    background-color: #fff;
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
    z-index: 1000;
    margin-top: 0;
    padding: 0;
    list-style: none;
}

.cat-list .cat-item:hover .children {
    display: block;
}

.cat-list .cat-item {
    position: relative;
}

.cat-list .children .cat-item {
    padding: 5px 10px;
    white-space: nowrap;
    border-bottom: 1px solid #ddd;
}

.cat-list .children .cat-item:last-child {
    border-bottom: none;
}
.category-buttons .buttons {
	display: flex;
	justify-content: flex-start;
	gap: 20px;
	flex-wrap: wrap;
	padding: 16px 24px;
}
.category-buttons .buttons .item {
	background: var(--maincolor);
  	border-radius: 10px;
  	padding: 16px 24px;
	width: calc(33% - 20px);
	box-sizing: border-box;
}
.category-buttons .buttons .item a {
	display: block;
	color: #F8FAFF;
	text-align: center;
	font-weight: bold;
}
.anquete {
	padding: 12px 24px;
	max-width: 800px;
	margin: 0 auto;
	background: #fdf1f1;
	border: 1px solid #ccc;
	border-radius: 5px;
}
.anquete li a {
	color: #d83473;
	font-weight: bold;
}
@media screen and (max-width: 768px) {
	.category-buttons .buttons .item {
		width: calc(50% - 20px);
	}
}
.footer-container ul .sns {
	width: 32px;
	height: 32px;
	margin-top: 10px;
}
.footer-container ul .sns img {
	width: 100%;
	height: auto;
}
footer.comment-meta {
	background: none;
	padding: 0 0 0;
}
footer.comment-meta {
	background: none;
	padding: 0 0 0;
}
@media screen and (max-width: 767px) {
	footer.comment-meta {
		align-items: flex-start;
		flex-direction: row;
	}
}

.top-page-layout {
	padding-bottom: 32px;
}

.top-page-grid {
	display: block;
}

.article-ranking .ranking-tabs {
	display: flex;
	align-items: center;
	gap: 8px;
	padding: 0 24px 12px;
}

.article-ranking .ranking-tab-button {
	display: inline-block;
	border: none;
	background: transparent;
	color: #777;
	font-size: 14px;
	font-weight: bold;
	padding: 0;
	cursor: pointer;
	text-decoration: none;
}

.article-ranking .ranking-tab-button.is-active {
	color: var(--maincolor);
}

.article-ranking .ranking-tab-button + .ranking-tab-button::before {
	content: "|";
	display: inline-block;
	margin-right: 8px;
	color: #bbb;
}

.article-ranking .ranking-list {
	display: none;
}

.article-ranking .ranking-list.is-active {
	display: flex;
}

.article-ranking .ranking-list.is-collapsed .item:nth-child(n + 6) {
	display: none;
}

.article-ranking .article-list .item article {
	position: relative;
}

.article-ranking .ranking-number {
	position: absolute;
	top: 8px;
	left: 8px;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--maincolor);
	color: #fff;
	font-size: 14px;
	font-weight: bold;
}

.button.more button {
	display: block;
	text-align: center;
	color: #fff;
	background: var(--subcolor);
	font-size: 18px;
	font-weight: bold;
	line-height: 48px;
	border-radius: 24px;
	width: 70%;
	max-width: 320px;
	margin: 0 auto;
	transition: all .5s;
	position: relative;
	border: none;
	cursor: pointer;
}

.button.more button::after {
	content: "\e409";
	font-family: Material Icons;
	position: absolute;
	right: 16px;
}

.button.more button:hover {
	box-shadow: 0 2px 5px rgba(0,0,0,0.2);
}

.popular-keywords .keyword-list {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	padding: 0 24px;
}

.popular-keywords .keyword-list li a {
	display: inline-block;
	padding: 8px 14px;
	border-radius: 999px;
	background: #fff2f7;
	color: var(--maincolor);
	font-size: 14px;
	font-weight: bold;
}

.ranking-empty-message {
	padding: 0 24px 24px;
}

@media screen and (max-width: 768px) {
	.article-ranking .ranking-tabs,
	.popular-keywords .keyword-list {
		padding-left: 16px;
		padding-right: 16px;
	}

	.article-ranking .ranking-list.is-collapsed .item:nth-child(n + 4) {
		display: none;
	}

	.top-main-column .new-topics .article-list .item:nth-child(n + 4),
	.top-main-column .masturbation-cat .article-list .item:nth-child(n + 4),
	.top-main-column .technique-cat .article-list .item:nth-child(n + 4),
	.top-main-column .worries-cat .article-list .item:nth-child(n + 4),
	.top-main-column .goods-cat .article-list .item:nth-child(n + 4),
	.top-main-column #manga .article-list .item:nth-child(n + 4),
	.top-main-column #questionnaire .article-list .item:nth-child(n + 4) {
		display: none;
	}
}

.top-comments-list {
	padding: 6px 12px;
	background-color: #f6f6f6;
	border-radius: 12px;
}

.top-comments-list li {
	border: none;
	border-bottom: 1px dotted #ccc;
}

.top-comments-list li:last-child {
	border-bottom: none;
}

.top-comments-list li article {
	background: transparent;
	padding: 8px 0;
	border-radius: 0;
	margin-bottom: 0;
}

.top-comments-list .children li {
	position: relative;
}

.top-comments-list .children li::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	transform: rotate(45deg);
	background: #f6f6f6;
	position: absolute;
	top: -8px;
	left: 24px;
	z-index: -1;
}

.top-comments-list .children {
	margin-left: 40px;
}

@media screen and (min-width: 1080px) {
	.top-page-grid {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 320px;
		gap: 32px;
		max-width: 1200px;
		margin: 0 auto;
		padding: 0 24px;
		box-sizing: border-box;
		align-items: start;
	}

	.top-main-column,
	.top-sidebar-column {
		min-width: 0;
	}

	.top-main-column > section,
	.top-main-column > div,
	.top-sidebar-column > section {
		width: 100%;
	}

	.top-main-column .article-list {
		margin-left: 24px;
	}

	.top-main-column .article-list .item {
		width: calc((100% - 48px) / 2);
		margin-right: 24px;
		margin-bottom: 24px;
	}

	.top-main-column .article-list .item:nth-child(2n) {
		margin-right: 0;
	}

	.top-main-column .new-topics .article-list .item:nth-child(n + 5),
	.top-main-column .masturbation-cat .article-list .item:nth-child(n + 5),
	.top-main-column .technique-cat .article-list .item:nth-child(n + 5),
	.top-main-column .worries-cat .article-list .item:nth-child(n + 5),
	.top-main-column .goods-cat .article-list .item:nth-child(n + 5),
	.top-main-column #manga .article-list .item:nth-child(n + 5),
	.top-main-column #questionnaire .article-list .item:nth-child(n + 5) {
		display: none;
	}

	.top-sidebar-column .article-list {
		margin-left: 0;
		padding: 0 24px;
	}

	.top-sidebar-column .article-list .item {
		width: calc(100% - 0px);
		margin-right: 0;
		margin-bottom: 16px;
	}

	.top-sidebar-column .article-list .item:nth-child(n + 6) {
		display: none;
	}

	.top-sidebar-column .article-ranking .ranking-list:not(.is-collapsed) .item:nth-child(n + 6) {
		display: block;
	}

	.top-sidebar-column .popular-keywords .keyword-list,
	.top-sidebar-column .article-ranking .ranking-tabs,
	.top-sidebar-column .comments {
		padding-left: 16px;
		padding-right: 16px;
	}

	.top-sidebar-column .top-comments-list {
		padding: 6px 12px;
	}

	.top-sidebar-column .top-content-header {
		padding-bottom: 8px;
	}
}

.page-numbers {
	display: flex;
	justify-content: center;
	gap: 5px;
}