/* === notecosme top page styles (managed by assistant) === */
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@600;700&family=Noto+Sans+JP:wght@400;700&family=Noto+Serif+JP:wght@600&display=swap');
body { background-color:#FAF7F4; color:#2B2622; font-family:'Noto Sans JP','Hiragino Kaku Gothic ProN',sans-serif; line-height:1.7; }
.nc-section-title { font-family:'Shippori Mincho','Noto Serif JP',Georgia,serif !important; font-size:clamp(1.2rem,4vw,1.6rem) !important; color:#2B2622 !important; letter-spacing:0.04em; border-left:4px solid #7C2D4B; padding-left:0.75em; margin-bottom:1.2em !important; }
.nc-hero { border-radius:12px; overflow:hidden; margin-bottom:1.5rem; }
.nc-hero .nc-hero__heading { font-family:'Shippori Mincho','Noto Serif JP',Georgia,serif !important; font-size:clamp(1.4rem,5vw,2.2rem) !important; color:#FAF7F4 !important; letter-spacing:0.06em; text-shadow:0 2px 8px rgba(43,38,34,0.4); }
.nc-hero .nc-hero__sub { color:rgba(250,247,244,0.9) !important; font-size:0.95rem; margin-bottom:1.5rem; }
.nc-pills-wrap { overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; padding:0.5rem 0 0.75rem; margin-bottom:1.5rem; }
.nc-pills-wrap::-webkit-scrollbar { display:none; }
.nc-pills.wp-block-buttons { flex-wrap:nowrap !important; gap:8px; padding:0 0.25rem; }
.nc-pill .wp-block-button__link { font-size:0.8rem; font-family:'Noto Sans JP',sans-serif; font-weight:400; padding:6px 14px; border-radius:20px; border:1px solid #B8AFA8; background:#fff; color:#2B2622; white-space:nowrap; transition:background 0.18s,color 0.18s,border-color 0.18s; text-decoration:none; }
.nc-pill .wp-block-button__link:hover, .nc-pill.is-active .wp-block-button__link { background:#f3e6ec; border-color:#7C2D4B; color:#7C2D4B; }
.nc-rank-section { background:#fff; border:1px solid #e8e2dc; border-radius:12px; padding:1.5rem; margin-bottom:2rem; }
@media (max-width:767px){ .nc-rank-cols.wp-block-columns { display:flex !important; flex-wrap:nowrap !important; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; gap:12px; padding-bottom:0.5rem; } .nc-rank-cols.wp-block-columns::-webkit-scrollbar { display:none; } .nc-rank-cols .wp-block-column { flex:0 0 150px !important; min-width:150px !important; } }
.nc-rank-card { position:relative; background:#FAF7F4; border:1px solid #e8e2dc; border-radius:10px; padding:1rem 0.75rem 0.75rem; overflow:visible; }
.nc-rank-card .nc-rank-img { border-radius:6px; overflow:hidden; margin-bottom:0.6rem; }
.nc-rank-card .nc-rank-img img { width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:6px; }
.nc-rank-card .nc-rank-name { font-family:'Noto Sans JP',sans-serif !important; font-size:0.85rem !important; font-weight:700; color:#2B2622 !important; line-height:1.4; margin-bottom:0.4rem !important; }
.nc-rank-card .nc-rank-desc { font-size:0.78rem; color:#6b6460; line-height:1.5; margin-bottom:0.6rem; }
.nc-rank-badge-1::before,.nc-rank-badge-2::before,.nc-rank-badge-3::before { content:''; position:absolute; top:-12px; left:-12px; width:34px; height:34px; border-radius:50%; background:#7C2D4B; border:2px solid #A9742A; box-shadow:0 2px 6px rgba(124,45,75,0.35); z-index:10; }
.nc-rank-badge-1::after { content:'1'; } .nc-rank-badge-2::after { content:'2'; } .nc-rank-badge-3::after { content:'3'; }
.nc-rank-badge-1::after,.nc-rank-badge-2::after,.nc-rank-badge-3::after { position:absolute; top:-12px; left:-12px; width:34px; height:34px; line-height:30px; text-align:center; font-family:'Noto Sans JP',sans-serif; font-size:0.85rem; font-weight:700; color:#FAF7F4; z-index:11; }
.nc-rank-badge-1::before { background:#7C2D4B; border-color:#A9742A; border-width:2.5px; box-shadow:0 2px 8px rgba(169,116,42,0.4); }
.nc-cat-section { margin-bottom:2rem; }
.nc-cat-grid.wp-block-columns { display:grid !important; grid-template-columns:repeat(3,1fr); gap:10px; }
@media (min-width:768px){ .nc-cat-grid.wp-block-columns { grid-template-columns:repeat(4,1fr); } }
.nc-cat-grid .wp-block-column { flex:unset !important; }
.nc-cat-item { border:1px solid #e8e2dc; border-radius:10px; background:#fff; transition:box-shadow 0.2s,border-color 0.2s; }
.nc-cat-item:hover { border-color:#7C2D4B; box-shadow:0 2px 10px rgba(124,45,75,0.12); }
.nc-cat-link { display:flex; flex-direction:column; align-items:center; padding:12px 8px; text-decoration:none; color:inherit; }
.nc-cat-icon img { width:40px !important; height:40px !important; border-radius:50%; object-fit:cover; border:1px solid #e8e2dc; margin:0 auto 6px; }
.nc-cat-label { font-size:0.78rem !important; color:#2B2622; margin:0 !important; text-align:center; }
.nc-new-section { margin-bottom:2rem; }
.nc-new-section .new-entry-cards-title,.nc-new-section .entry-card-title { font-family:'Noto Sans JP',sans-serif; font-size:0.88rem; line-height:1.5; }
.nc-feature-section { margin-bottom:2rem; }
.nc-feature-banner { border-radius:10px; overflow:hidden; }
.nc-feature-banner img { width:100%; height:auto; display:block; }
.nc-ad-native { position:relative; background:#f6eedd; border:1.5px dashed #A9742A; border-radius:10px; padding:1.25rem 1rem 1rem; margin-bottom:2rem; }
.nc-ad-label { display:inline-block; position:absolute; top:-1px; left:-1px; background:#A9742A; color:#fff; font-size:0.7rem; font-weight:700; font-family:'Noto Sans JP',sans-serif; letter-spacing:0.06em; padding:2px 9px; border-radius:8px 0 6px 0; line-height:1.6; }
.nc-ad-inner { margin-top:0.5rem; }
.nc-ad-inner img { width:100%; height:auto; border-radius:6px; display:block; }
.nc-ad-text { font-size:0.75rem; color:#7a6540; margin:0.5rem 0 0; line-height:1.5; }
.nc-popular-mobile { margin-bottom:2rem; }
@media (min-width:960px){ .nc-popular-mobile { display:none !important; } }
.nc-popular-mobile .popular-entry-cards-title,.nc-popular-mobile .entry-card-title { font-size:0.85rem; }
.nc-biz-band { background:#2B2622 !important; border-radius:12px; padding:2.5rem 1.5rem !important; margin-bottom:2rem; text-align:center; }
.nc-biz-band .nc-biz-heading { font-family:'Shippori Mincho','Noto Serif JP',serif !important; font-size:clamp(1.1rem,3.5vw,1.5rem) !important; color:#FAF7F4 !important; letter-spacing:0.04em; border-left:none !important; padding-left:0 !important; margin-bottom:0.5rem !important; }
.nc-biz-band .nc-biz-sub { color:#B8AFA8 !important; font-size:0.9rem; margin-bottom:1.5rem; }
.nc-btn-biz-primary .wp-block-button__link { background:#FAF7F4 !important; color:#2B2622 !important; border:none; font-weight:700; font-family:'Noto Sans JP',sans-serif; border-radius:6px; padding:12px 24px; font-size:0.9rem; transition:background 0.18s,box-shadow 0.18s; text-decoration:none; }
.nc-btn-biz-primary .wp-block-button__link:hover { background:#f3e6ec !important; box-shadow:0 2px 8px rgba(250,247,244,0.3); }
.nc-btn-biz-ghost .wp-block-button__link { background:transparent !important; color:#FAF7F4 !important; border:1.5px solid #FAF7F4 !important; font-weight:700; font-family:'Noto Sans JP',sans-serif; border-radius:6px; padding:12px 24px; font-size:0.9rem; transition:background 0.18s; text-decoration:none; }
.nc-btn-biz-ghost .wp-block-button__link:hover { background:rgba(250,247,244,0.1) !important; }
.nc-btn-primary .wp-block-button__link { background:#7C2D4B !important; color:#FAF7F4 !important; border:none; border-radius:6px; font-weight:700; font-family:'Noto Sans JP',sans-serif; font-size:0.88rem; padding:10px 20px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; transition:background 0.18s,box-shadow 0.18s; text-decoration:none; }
.nc-btn-primary .wp-block-button__link:hover { background:#9a3860 !important; box-shadow:0 3px 10px rgba(124,45,75,0.3); }
.nc-btn-ghost .wp-block-button__link { background:transparent !important; color:#7C2D4B !important; border:1.5px solid #7C2D4B !important; border-radius:6px; font-weight:700; font-family:'Noto Sans JP',sans-serif; font-size:0.88rem; padding:10px 20px; min-height:44px; display:inline-flex; align-items:center; justify-content:center; transition:background 0.18s; text-decoration:none; }
.nc-btn-ghost .wp-block-button__link:hover { background:#f3e6ec !important; }
.nc-newsletter { background:#fff; border:1px solid #e8e2dc; border-radius:12px; padding:1.75rem 1.5rem; margin-bottom:2rem; text-align:center; }
.nc-newsletter-title { font-family:'Shippori Mincho','Noto Serif JP',serif; font-size:1.2rem; color:#2B2622; margin:0 0 0.5rem; letter-spacing:0.04em; }
.nc-newsletter-desc { font-size:0.85rem; color:#6b6460; margin:0 0 1rem; }
.nc-newsletter-form { display:flex; gap:8px; max-width:440px; margin:0 auto 0.75rem; }
@media (max-width:480px){ .nc-newsletter-form { flex-direction:column; } }
.nc-newsletter-input { flex:1; border:1px solid #B8AFA8; border-radius:6px; padding:10px 14px; font-size:0.9rem; font-family:'Noto Sans JP',sans-serif; color:#2B2622; background:#FAF7F4; min-height:44px; outline:none; }
.nc-newsletter-input:focus { border-color:#7C2D4B; box-shadow:0 0 0 2px rgba(124,45,75,0.12); }
.nc-newsletter-btn { background:#7C2D4B; color:#FAF7F4; border:none; border-radius:6px; padding:10px 20px; font-size:0.88rem; font-weight:700; font-family:'Noto Sans JP',sans-serif; min-height:44px; cursor:pointer; white-space:nowrap; transition:background 0.18s; }
.nc-newsletter-btn:hover { background:#9a3860; }
.nc-newsletter-note { font-size:0.75rem; color:#8c847d; margin:0; }
.nc-newsletter-note a { color:#7C2D4B; text-decoration:underline; }
@media (min-width:960px){ .widget_popular_entries .entry-card-title { font-size:0.82rem; line-height:1.4; } .widget_popular_entries .ranking-label { background:#7C2D4B; border:1.5px solid #A9742A; color:#FAF7F4; font-weight:700; border-radius:50%; } }
/* === end notecosme top page styles === */

/* === notecosme h2 cocoon override === */
.nc-section-title{ background:transparent !important; border-top:none !important; border-right:none !important; border-bottom:none !important; box-shadow:none !important; }
.nc-hero .nc-hero__heading,.nc-biz-band .nc-biz-heading{ background:transparent !important; border:none !important; padding:0 !important; box-shadow:none !important; }
.nc-hero .nc-hero__heading::before,.nc-hero .nc-hero__heading::after,.nc-biz-band .nc-biz-heading::before,.nc-biz-band .nc-biz-heading::after{ display:none !important; }
/* === end notecosme h2 cocoon override === */

/* === notecosme logo size === */
.header-container .logo-image,.header-container .logo img,#header .logo img,.logo img,a.logo-image img,img.logo-image,.site-logo-image{max-height:50px !important;width:auto !important;height:auto !important;}
@media(max-width:768px){.header-container .logo-image,.logo img,img.logo-image{max-height:38px !important;}}
/* === end notecosme logo size === */

/* === notecosme polish v2 === */
/* homepage declutter */
.home .sns-share{display:none !important;}
.home .date-tags{display:none !important;}
.home .site-name-text-link .site-name-text{display:none !important;}
/* global nav polish */
#navi,.navi{background:#fff;border-bottom:1px solid #efe9e3;box-shadow:0 1px 0 rgba(124,45,75,.04);}
.navi .menu-header a{font-family:'Noto Sans JP',sans-serif;font-size:.9rem;letter-spacing:.06em;color:#2B2622 !important;position:relative;transition:color .2s;}
.navi .menu-header a:hover{color:#7C2D4B !important;background:transparent !important;}
.navi .menu-header>li>a::after{content:'';position:absolute;left:18px;right:18px;bottom:10px;height:2px;background:#7C2D4B;transform:scaleX(0);transform-origin:left;transition:transform .25s;}
.navi .menu-header>li>a:hover::after{transform:scaleX(1);}
/* article headings (elegant, override Cocoon box) */
.article .entry-content h2{background:transparent !important;border:none !important;border-left:4px solid #7C2D4B !important;border-radius:0 !important;padding:.1em 0 .1em .7em !important;font-family:'Shippori Mincho','Noto Serif JP',serif !important;color:#2B2622 !important;letter-spacing:.03em;margin:2.2em 0 1em;}
.article .entry-content h3{border:none !important;border-bottom:2px solid #f0e3e9 !important;background:transparent !important;padding:0 0 .3em !important;font-family:'Noto Sans JP',sans-serif !important;font-weight:700;color:#2B2622 !important;margin:1.8em 0 .8em;}
.article .entry-content a{color:#7C2D4B;}
/* new/popular cards polish */
.new-entry-card,.widget-entry-card,.entry-card{border:1px solid #efe9e3 !important;border-radius:12px !important;transition:box-shadow .2s,transform .2s,border-color .2s;overflow:hidden;}
.new-entry-card:hover,.widget-entry-card:hover,.entry-card:hover{box-shadow:0 6px 18px rgba(124,45,75,.10);transform:translateY(-2px);border-color:#e3cdd6 !important;}
.card-thumb img,.entry-card-thumb img{transition:transform .3s;}
.new-entry-card:hover .card-thumb img{transform:scale(1.04);}
.entry-card-title,.card-title{font-weight:700;color:#2B2622;}
/* category grid icons: clean plum circle instead of stripes */
.nc-cat-icon{background:#f3e6ec !important;border:1px solid #e7d3dc !important;}
.nc-cat-item:hover .nc-cat-icon{background:#ead3de !important;}
/* section title spacing on home */
.nc-section-title{margin-top:.2em;}
/* footer refine */
.footer{background:#2B2622 !important;color:#cfc7c2;}
.footer a{color:#e7d9df !important;}
.footer .menu a:hover{color:#fff !important;}
/* buttons site-wide accent */
.wp-block-button__link:not(.nc-btn-biz-primary .wp-block-button__link):not(.nc-btn-biz-ghost .wp-block-button__link){}
/* === end notecosme polish v2 === */