@charset "UTF-8";
/*!
 * Theme Name: Cocoon Child
 * Template: cocoon-master
 * Version: 1.1.3
 * */

/* Cinematic Professional Theme - marumaruoact.com */
:root {
	  --maru-bg-primary: #0a0f1c;
	  --maru-bg-secondary: #111827;
	  --maru-bg-card: #1a2238;
	  --maru-bg-card-hover: #1e2a45;
	  --maru-text-primary: #f0f2f5;
	  --maru-text-secondary: #94a3b8;
	  --maru-text-muted: #64748b;
	  --maru-accent: #d4a843;
	  --maru-accent-hover: #e8bd5a;
	  --maru-accent-glow: rgba(212, 168, 67, 0.15);
	  --maru-border: rgba(255, 255, 255, 0.06);
	  --maru-border-hover: rgba(212, 168, 67, 0.3);
	  --maru-shadow: 0 4px 24px rgba(0, 0, 0, 0.3);
	  --maru-shadow-hover: 0 8px 40px rgba(0, 0, 0, 0.4);
	  --maru-radius: 16px;
	  --maru-radius-sm: 10px;
	  --maru-transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	  --maru-font-body: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, sans-serif;
	  --maru-font-heading: 'Noto Serif JP', Georgia, serif;
}
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Noto+Serif+JP:wght@400;700&display=swap');
body, .body-wrap { background: var(--maru-bg-primary) !important; color: var(--maru-text-primary) !important; font-family: var(--maru-font-body) !important; font-weight: 400; line-height: 1.85; letter-spacing: 0.02em; -webkit-font-smoothing: antialiased; }
#content, .content, .main, #main, .wrap { background: transparent !important; }
a { color: var(--maru-accent) !important; text-decoration: none !important; transition: var(--maru-transition); }
a:hover { color: var(--maru-accent-hover) !important; }
::selection { background: var(--maru-accent); color: var(--maru-bg-primary); }
.header-container, .header, #header, .header-in { background: rgba(10, 15, 28, 0.85) !important; backdrop-filter: blur(20px) saturate(180%); -webkit-backdrop-filter: blur(20px) saturate(180%); border-bottom: 1px solid var(--maru-border) !important; box-shadow: 0 1px 30px rgba(0, 0, 0, 0.2); }
.site-name-text, .logo-text, .header .site-name-text a { font-family: var(--maru-font-heading) !important; font-weight: 700 !important; color: var(--maru-text-primary) !important; font-size: 1.6rem !important; letter-spacing: 0.08em; }
.site-description, .tagline { color: var(--maru-accent) !important; font-size: 0.85rem !important; font-weight: 300; letter-spacing: 0.1em; }
.navi, #navi, .navi-in, .header-container-in .navi { background: transparent !important; }
.navi-in a, .menu-item a, #navi a { color: var(--maru-text-secondary) !important; font-weight: 500 !important; font-size: 0.9rem !important; padding: 12px 20px !important; position: relative; transition: var(--maru-transition); }
.navi-in a:hover, .menu-item a:hover { color: var(--maru-accent) !important; }
.entry-card-wrap, .a-wrap { background: var(--maru-bg-card) !important; border: 1px solid var(--maru-border) !important; border-radius: var(--maru-radius) !important; overflow: hidden; transition: var(--maru-transition); box-shadow: var(--maru-shadow); margin-bottom: 20px !important; }
.entry-card-wrap:hover, .a-wrap:hover { background: var(--maru-bg-card-hover) !important; border-color: var(--maru-border-hover) !important; box-shadow: var(--maru-shadow-hover); transform: translateY(-4px); }
.entry-card-thumb img { transition: transform 0.5s cubic-bezier(0.4, 0, 0.2, 1); }
.entry-card-wrap:hover .entry-card-thumb img { transform: scale(1.05); }
.entry-card-content, .card-content { padding: 20px 24px !important; }
.entry-card-title, .card-title { font-family: var(--maru-font-heading) !important; font-weight: 700 !important; color: var(--maru-text-primary) !important; font-size: 1.1rem !important; line-height: 1.6 !important; }
.entry-card-snippet, .card-snippet { color: var(--maru-text-secondary) !important; font-size: 0.85rem !important; }
.cat-label { background: var(--maru-accent) !important; color: var(--maru-bg-primary) !important; font-weight: 700 !important; font-size: 0.7rem !important; border-radius: 6px !important; padding: 3px 10px !important; }
.entry-date, .post-date, .entry-card-meta { color: var(--maru-text-muted) !important; }
.article, .post, .entry-content, .article-main { background: var(--maru-bg-card) !important; border: 1px solid var(--maru-border) !important; border-radius: var(--maru-radius) !important; padding: 48px 40px !important; box-shadow: var(--maru-shadow); color: var(--maru-text-primary) !important; }
.article h1, .entry-title, .post-title { font-family: var(--maru-font-heading) !important; font-weight: 700 !important; color: var(--maru-text-primary) !important; font-size: 1.8rem !important; line-height: 1.5 !important; padding-bottom: 24px !important; margin-bottom: 32px !important; border-bottom: 1px solid var(--maru-border) !important; }
.entry-content h2, .article h2 { font-family: var(--maru-font-heading) !important; font-weight: 700 !important; color: var(--maru-text-primary) !important; font-size: 1.5rem !important; padding: 20px 28px !important; margin: 48px 0 24px !important; background: linear-gradient(135deg, rgba(212, 168, 67, 0.1), rgba(212, 168, 67, 0.03)) !important; border-left: 4px solid var(--maru-accent) !important; border-radius: 0 10px 10px 0 !important; border-top: none !important; border-right: none !important; border-bottom: none !important; }
.entry-content h3, .article h3 { font-family: var(--maru-font-heading) !important; font-weight: 700 !important; color: var(--maru-accent) !important; font-size: 1.25rem !important; padding: 0 0 12px !important; margin: 36px 0 16px !important; border-bottom: 1px solid var(--maru-border) !important; border-left: none !important; background: transparent !important; }
.entry-content p { color: var(--maru-text-primary) !important; line-height: 2 !important; }
.entry-content blockquote { background: rgba(212, 168, 67, 0.06) !important; border-left: 4px solid var(--maru-accent) !important; border-radius: 0 10px 10px 0 !important; padding: 24px 28px !important; color: var(--maru-text-secondary) !important; }
.entry-content img { border-radius: 10px !important; }
#sidebar, .sidebar { background: transparent !important; }
.sidebar .widget, #sidebar .widget { background: var(--maru-bg-card) !important; border: 1px solid var(--maru-border) !important; border-radius: var(--maru-radius) !important; padding: 28px !important; margin-bottom: 24px !important; box-shadow: var(--maru-shadow); }
.widget-title, .sidebar h3, .sidebar .widget-title { font-family: var(--maru-font-heading) !important; color: var(--maru-text-primary) !important; font-weight: 700 !important; padding-bottom: 12px !important; margin-bottom: 16px !important; border-bottom: 2px solid var(--maru-accent) !important; }
.sidebar a { color: var(--maru-text-secondary) !important; }
.sidebar a:hover { color: var(--maru-accent) !important; }
.author-box { background: var(--maru-bg-card) !important; border: 1px solid var(--maru-border) !important; border-radius: var(--maru-radius) !important; padding: 28px !important; }
.author-box .author-name { font-family: var(--maru-font-heading) !important; color: var(--maru-accent) !important; }
.author-box .author-description { color: var(--maru-text-secondary) !important; }
#footer, .footer, .footer-bottom { background: var(--maru-bg-secondary) !important; border-top: 1px solid var(--maru-border) !important; color: var(--maru-text-muted) !important; }
.copyright { color: var(--maru-text-muted) !important; }
.btn, .btn-wrap a, input[type="submit"], .wp-block-button__link { background: linear-gradient(135deg, var(--maru-accent), var(--maru-accent-hover)) !important; color: var(--maru-bg-primary) !important; font-weight: 700 !important; border: none !important; border-radius: 50px !important; padding: 14px 36px !important; transition: var(--maru-transition); box-shadow: 0 4px 16px rgba(212, 168, 67, 0.3); }
.btn:hover, .btn-wrap a:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(212, 168, 67, 0.4) !important; }
#toc, .toc, .ez-toc-container { background: var(--maru-bg-primary) !important; border: 1px solid var(--maru-border) !important; border-radius: var(--maru-radius) !important; padding: 28px !important; color: var(--maru-text-primary) !important; }
.toc-title, .ez-toc-title { font-family: var(--maru-font-heading) !important; color: var(--maru-accent) !important; }
.toc a { color: var(--maru-text-secondary) !important; }
.toc a:hover { color: var(--maru-accent) !important; }
.breadcrumb, #breadcrumb { color: var(--maru-text-muted) !important; font-size: 0.8rem !important; }
.breadcrumb a { color: var(--maru-text-muted) !important; }
.breadcrumb a:hover { color: var(--maru-accent) !important; }
.pagination a, .page-numbers { background: var(--maru-bg-card) !important; color: var(--maru-text-secondary) !important; border: 1px solid var(--maru-border) !important; border-radius: 10px !important; }
.pagination a:hover, .page-numbers:hover { background: var(--maru-accent) !important; color: var(--maru-bg-primary) !important; }
.pagination .current, .page-numbers.current { background: var(--maru-accent) !important; color: var(--maru-bg-primary) !important; }
.search-edit { background: var(--maru-bg-primary) !important; color: var(--maru-text-primary) !important; border: 1px solid var(--maru-border) !important; border-radius: 50px !important; padding: 12px 20px !important; }
.search-edit:focus { border-color: var(--maru-accent) !important; box-shadow: 0 0 0 3px var(--maru-accent-glow) !important; }
@keyframes fadeInUp { from { opacity: 0; transform: translateY(24px); } to { opacity: 1; transform: translateY(0); } }
.entry-card-wrap, .a-wrap, .sidebar .widget { animation: fadeInUp 0.6s ease forwards; }
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: var(--maru-bg-primary); }
::-webkit-scrollbar-thumb { background: var(--maru-bg-card); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--maru-accent); }
@media screen and (max-width: 834px) { .article, .entry-content { padding: 24px 16px !important; border-radius: 10px !important; } .article h1, .entry-title { font-size: 1.4rem !important; } .entry-content h2 { font-size: 1.2rem !important; padding: 16px 20px !important; } .site-name-text { font-size: 1.2rem !important; } }
.blank-box, .information-box, .question-box, .alert-box { background: var(--maru-bg-primary) !important; border-color: var(--maru-border) !important; border-radius: 10px !important; color: var(--maru-text-primary) !important; }
.tagcloud a { background: var(--maru-bg-primary) !important; color: var(--maru-text-secondary) !important; border: 1px solid var(--maru-border) !important; border-radius: 50px !important; padding: 6px 14px !important; font-size: 0.8rem !important; }
.tagcloud a:hover { background: var(--maru-accent) !important; color: var(--maru-bg-primary) !important; }
.mobile-menu-content, #slide-in-sidebar { background: var(--maru-bg-secondary) !important; color: var(--maru-text-primary) !important; }
#slide-in-sidebar a { color: var(--maru-text-secondary) !important; }
.entry-content ul, .entry-content ol { color: var(--maru-text-primary) !important; }
.entry-content li { line-height: 1.8 !important; }
.entry-content table th { background: var(--maru-bg-primary) !important; color: var(--maru-accent) !important; border: 1px solid var(--maru-border) !important; }
.entry-content table td { background: var(--maru-bg-card) !important; color: var(--maru-text-primary) !important; border: 1px solid var(--maru-border) !important; }
.sns-share-buttons a { border-radius: 10px !important; }
.comment-area, #comments { background: var(--maru-bg-card) !important; border-radius: var(--maru-radius) !important; padding: 28px !important; border: 1px solid var(--maru-border) !important; }

}