@charset "UTF-8";

/* ============================================================
   FRICTIONLESS SALES — TOP PAGE v2.3
   ワイヤーフレーム（ワイヤーフレーム_top__1_.pptx）準拠
   Design System v2.3 準拠
   ============================================================ */

:root {
  --color-bg:            #FFFFFF;
  --color-surface:       #F2F2F0;
  --color-border:        #D4D3D0;
  --color-footer-bg:     #E8E8E6;
  --color-ink-primary:   #111110;
  --color-ink-secondary: #4A4845;
  --color-ink-tertiary:  #8A8784;
  --color-ink-disabled:  #B8B6B2;
  --color-accent:        #FF00C8;
  --color-accent-dark:   #CC00A0;
  /* ── LEGIBILITY OVERRIDE: グレー背景対応 ── */
  --color-ink-secondary: #252422;
  --color-ink-tertiary:  #3D3B38;
  --color-ink-disabled:  #5C5A57;

  --font-serif-ja: 'Noto Serif JP','YuMincho','游明朝',serif;
  --font-serif-en: 'Cormorant Garamond',Georgia,serif;
  --font-sans-ja:  'Noto Sans JP','YuGothic','游ゴシック',sans-serif;
  --text-hero:    clamp(2.0rem, 6vw, 4.5rem);
  --text-h1:      clamp(1.6rem, 4vw, 2.8rem);
  --text-h2:      clamp(1.3rem, 2.5vw, 1.9rem);
  --text-h3:      clamp(1.05rem, 1.8vw, 1.35rem);
  --text-body-lg: 1.0625rem;
  --text-body:    1rem;
  --text-body-sm: 0.9375rem;
  --text-caption: 0.8125rem;
  --text-label:   0.75rem;
  --leading-tight:  1.3;
  --leading-normal: 1.75;
  --leading-loose:  2.0;
  --tracking-tight:  -0.02em;
  --tracking-normal:  0.02em;
  --tracking-wide:    0.08em;
  --tracking-wider:   0.14em;
  --tracking-widest:  0.2em;
  --space-xs:  0.5rem;
  --space-sm:  1rem;
  --space-md:  1.5rem;
  --space-lg:  2.5rem;
  --space-xl:  4rem;
  --space-2xl: 6rem;
  --space-3xl: 9rem;
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --shadow-soft: 0 1px 3px rgba(17,17,16,.06), 0 4px 12px rgba(17,17,16,.04);
  --shadow-card: 0 2px 8px rgba(17,17,16,.07), 0 12px 32px rgba(17,17,16,.05);
  --ease-out-expo: cubic-bezier(0.16,1,0.3,1);
  --dur-fast:   150ms;
  --dur-normal: 280ms;
  --dur-slow:   480ms;
  --container: 1200px;
  --header-h:  88px;
}
@media (max-width:767px) {
  :root {
    --space-xl:  2.5rem;
    --space-2xl: 3.5rem;
    --space-3xl: 5rem;
  }
}

*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
html { font-size:16px; scroll-behavior:smooth; }
body {
  font-family: var(--font-serif-ja);
  background: var(--color-bg);
  color: var(--color-ink-primary);
  line-height: var(--leading-normal);
  -webkit-font-smoothing: antialiased;
  cursor: none;
  overflow-x: hidden;
}
img { display:block; max-width:100%; height:auto; }
a   { color:inherit; text-decoration:none; }
ul  { list-style:none; }
button { cursor:none; border:none; background:none; font:inherit; }

/* Custom Cursor */
.cursor { position:fixed; pointer-events:none; z-index:9999; }
.cursor-dot {
  width:8px; height:8px;
  background:var(--color-accent);
  border-radius:50%;
  transform:translate(-50%,-50%);
  transition:transform var(--dur-fast) var(--ease-out-expo), opacity var(--dur-fast);
}
.cursor-ring {
  width:36px; height:36px;
  border:1.5px solid var(--color-accent);
  border-radius:50%;
  transform:translate(-50%,-50%);
  opacity:.5;
  transition:width var(--dur-normal) var(--ease-out-expo), height var(--dur-normal) var(--ease-out-expo), opacity var(--dur-normal);
}
body.cursor-hover .cursor-dot  { transform:translate(-50%,-50%) scale(2); opacity:0; }
body.cursor-hover .cursor-ring { width:56px; height:56px; opacity:.2; }

/* Container */
.container {
  width:100%;
  max-width:var(--container);
  margin:0 auto;
  padding:0 var(--space-lg);
}
@media (max-width:767px)  { .container { padding:0 1.25rem; } }
@media (min-width:768px) and (max-width:1023px) { .container { padding:0 2.5rem; } }

/* Scroll Reveal */
.reveal { opacity:0; transform:translateY(20px); transition:opacity var(--dur-slow) var(--ease-out-expo), transform var(--dur-slow) var(--ease-out-expo); }
.reveal.visible { opacity:1; transform:none; }
.reveal-d1 { transition-delay:80ms; }
.reveal-d2 { transition-delay:160ms; }
.reveal-d3 { transition-delay:240ms; }
.reveal-d4 { transition-delay:320ms; }

/* Section label */
.sec-en {
  display:block;
  font-family:var(--font-serif-en);
  font-size:var(--text-label);
  font-style:italic;
  letter-spacing:var(--tracking-widest);
  color:var(--color-ink-tertiary);
  margin-bottom:4px;
}

/* Illust placeholder */
.illust-ph {
  background:var(--color-surface);
  border:1px dashed var(--color-border);
  border-radius:var(--radius-sm);
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  gap:6px;
}
.illust-ph-label {
  font-family:var(--font-sans-ja);
  font-size:var(--text-caption);
  letter-spacing:var(--tracking-wider);
  color:var(--color-ink-disabled);
}
.illust-ph-sub {
  font-family:var(--font-serif-en);
  font-size:11px; font-style:italic;
  color:var(--color-border);
}

/* Buttons */
.btn {
  display:inline-flex; align-items:center; justify-content:center;
  font-family:var(--font-sans-ja); font-weight:400;
  letter-spacing:var(--tracking-normal);
  border-radius:var(--radius-md);
  transition:background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast),
             transform var(--dur-fast) var(--ease-out-expo), box-shadow var(--dur-fast);
  white-space:nowrap;
}
.btn:hover { transform:translateY(-1px); }
.btn:active { transform:translateY(0); }
.btn-primary {
  background:var(--color-accent); color:#fff;
  font-size:var(--text-body-sm); padding:10px 20px;
}
.btn-primary:hover {
  background:var(--color-accent-dark);
  box-shadow:0 4px 16px rgba(255,0,200,.25);
}
.btn-secondary {
  background:transparent; color:var(--color-ink-primary);
  font-size:var(--text-body-sm); padding:9px 19px;
  border:none; position:relative;
}
.btn-secondary::before {
  content:''; position:absolute; inset:0;
  pointer-events:none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cpath d='M6,5 C200,3.5 400,6 600,4.5 C800,3 950,5 994,5' stroke='%23111' stroke-width='1.5' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M995,6 C993.5,250 996.5,500 995,750 C993.8,880 995.5,950 994,994' stroke='%23111' stroke-width='1.5' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M994,995 C800,997.5 600,994.5 400,996.5 C200,998.5 50,995.5 6,995' stroke='%23111' stroke-width='1.5' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M5,994 C3.5,750 6,500 4.5,250 C3.2,120 5.5,50 5,6' stroke='%23111' stroke-width='1.5' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
  opacity: 0.8; transition:opacity var(--dur-fast);
}
.btn-secondary:hover::before { opacity:0.8; }
.btn-ghost {
  background:transparent; color:var(--color-ink-secondary);
  font-size:var(--text-body-sm); padding:0;
  display:inline-flex; align-items:center; gap:6px;
}
.btn-ghost::after {
  content:'→'; font-family:var(--font-serif-en); font-style:italic;
  color:var(--color-accent);
  transition:transform var(--dur-normal) var(--ease-out-expo);
}
.btn-ghost:hover { color:var(--color-ink-primary); transform:none; }
.btn-ghost:hover::after { transform:translateX(4px); }
.btn-lg { font-size:var(--text-body); padding:14px 36px; }

/* CTA buttons (dark bg) */
.btn-cta-pink {
  background:var(--color-accent); color:#fff;
  font-family:var(--font-sans-ja); font-size:var(--text-body-sm); font-weight:400;
  padding:11px 28px; border-radius:var(--radius-md); letter-spacing:var(--tracking-normal);
  display:inline-block; text-align:center;
  transition:background var(--dur-fast), box-shadow var(--dur-fast), transform var(--dur-fast) var(--ease-out-expo);
}
.btn-cta-pink:hover {
  background:var(--color-accent-dark);
  box-shadow:0 4px 20px rgba(255,0,200,.3);
  transform:translateY(-2px);
}
.btn-cta-white {
  background:transparent; color:rgba(255,255,255,.65);
  font-family:var(--font-sans-ja); font-size:var(--text-body-sm); font-weight:400;
  padding:10px 27px; border:none; border-radius:var(--radius-md);
  letter-spacing:var(--tracking-normal); display:inline-block; text-align:center;
  position:relative;
  transition:color var(--dur-fast), transform var(--dur-fast) var(--ease-out-expo);
}
.btn-cta-white::before {
  content:''; position:absolute; inset:0;
  pointer-events:none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cpath d='M6,5 C200,3.5 400,6 600,4.5 C800,3 950,5 994,5' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke' opacity='0.6'/%3E%3Cpath d='M995,6 C993.5,250 996.5,500 995,750 C993.8,880 995.5,950 994,994' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke' opacity='0.6'/%3E%3Cpath d='M994,995 C800,997.5 600,994.5 400,996.5 C200,998.5 50,995.5 6,995' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke' opacity='0.6'/%3E%3Cpath d='M5,994 C3.5,750 6,500 4.5,250 C3.2,120 5.5,50 5,6' stroke='%23fff' stroke-width='1.5' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke' opacity='0.6'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
  transition:opacity var(--dur-fast);
}
.btn-cta-white:hover {
  color:rgba(255,255,255,.9); transform:translateY(-1px);
}

/* ── HEADER ── */
.site-header {
  position:fixed; top:0; left:0; right:0;
  height:var(--header-h);
  background:rgba(255,255,255,.94);
  backdrop-filter:blur(12px); -webkit-backdrop-filter:blur(12px);
  z-index:1000;
  transition:box-shadow var(--dur-normal);
}
.site-header::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:6px; pointer-events:none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 8' preserveAspectRatio='none'%3E%3Cpath d='M0,4 C20,3.4 40,4.6 60,4 C80,3.5 100,4.5 120,4.1 C140,3.7 160,4.4 180,4 C200,3.6 220,4.3 240,4 C260,3.7 280,4.4 300,4.1 C320,3.6 340,4.5 360,4 C380,3.5 395,4.2 400,4' stroke='%23111' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3Cpath d='M0,4.5 C30,4.1 70,5 110,4.4 C150,3.9 200,4.6 250,4.2 C300,3.8 350,4.5 400,4.3' stroke='%23111' stroke-width='0.5' fill='none' stroke-linecap='round' opacity='0.3'/%3E%3C/svg%3E") repeat-x center / 400px 8px;
  opacity: 0.85;
}
.site-header.scrolled { box-shadow:var(--shadow-soft); }
.header-inner {
  height:var(--header-h);
  display:flex; align-items:center; justify-content:space-between; gap:var(--space-lg);
}
.header-logo { flex-shrink:0; line-height:0; }
.header-logo img { height:106px; width:auto; max-width:none; display:block; object-fit:contain; }
.header-nav { display:flex; align-items:center; gap:var(--space-lg); }
.header-nav a {
  font-family:var(--font-sans-ja); font-size:var(--text-body-sm); font-weight:300;
  color:var(--color-ink-secondary); letter-spacing:var(--tracking-normal);
  position:relative; padding-bottom:2px;
	font-weight: 500;
}
.header-nav a::after {
  content:''; position:absolute; bottom:-2px; left:0;
  width:0; height:1px; background:var(--color-accent);
  transition:width var(--dur-normal) var(--ease-out-expo);
}
.header-nav a:hover { color:var(--color-ink-primary); }
.header-nav a:hover::after { width:100%; }
.header-cta { display:flex; align-items:center; gap:var(--space-xs); flex-shrink:0; }
.hamburger { display:none; flex-direction:column; gap:5px; padding:8px; }
.hamburger span {
  display:block; width:22px; height:1.5px; background:var(--color-ink-primary);
  transition:transform var(--dur-normal) var(--ease-out-expo), opacity var(--dur-fast);
}
.hamburger.active span:nth-child(1) { transform:translateY(6.5px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity:0; }
.hamburger.active span:nth-child(3) { transform:translateY(-6.5px) rotate(-45deg); }
.drawer {
  display:none; position:fixed;
  top:var(--header-h); left:0; right:0; bottom:0;
  background:var(--color-bg); z-index:999;
  padding:var(--space-xl) 1.25rem;
  transform:translateX(100%);
  transition:transform var(--dur-slow) var(--ease-out-expo);
  overflow-y:auto;
}
.drawer.open { transform:translateX(0); }
.drawer-nav { display:flex; flex-direction:column; gap:var(--space-md); margin-bottom:var(--space-xl); }
.drawer-nav a {
  font-family:var(--font-serif-ja); font-size:var(--text-h3); font-weight:500;
  color:var(--color-ink-primary);
  padding-bottom:var(--space-md);
  position:relative;
}
.drawer-nav a::after {
  content:''; position:absolute; bottom:0; left:0; right:0;
  height:6px;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 8' preserveAspectRatio='none'%3E%3Cpath d='M0,4 C20,3.4 40,4.6 60,4 C80,3.5 100,4.5 120,4.1 C140,3.7 160,4.4 180,4 C200,3.6 220,4.3 240,4 C260,3.7 280,4.4 300,4.1 C320,3.6 340,4.5 360,4 C380,3.5 395,4.2 400,4' stroke='%23111' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3Cpath d='M0,4.5 C30,4.1 70,5 110,4.4 C150,3.9 200,4.6 250,4.2 C300,3.8 350,4.5 400,4.3' stroke='%23111' stroke-width='0.5' fill='none' stroke-linecap='round' opacity='0.3'/%3E%3C/svg%3E") repeat-x center / 400px 8px;
  opacity: 0.85;
}
.drawer-cta { display:flex; flex-direction:column; gap:var(--space-sm); }
@media (max-width:999px) {
  .header-nav, .header-cta { display:none; }
  .hamburger { display:flex; }
  .drawer    { display:block; }
}


/* ── FOOTER CTA ── */
.footer-cta {
  background:#2A2A28; padding:var(--space-xl) 0;
  position:relative; overflow:hidden;
}
.footer-cta::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at 80% 50%,rgba(255,0,200,.04) 0%,transparent 60%);
  pointer-events:none;
}
.footer-cta-inner { position:relative; z-index:1; }
.footer-cta-label {
  font-family:var(--font-serif-ja); font-size:var(--text-h3); font-weight:300;
  color:rgba(255,255,255,.7); text-align:center;
  margin-bottom:var(--space-sm); letter-spacing:0.08em;
}
.footer-cta-subtext {
  font-family:var(--font-serif-ja); font-size:var(--text-body-sm); font-weight:300;
  color:rgba(255,255,255,.45); text-align:center; letter-spacing:0.04em;
  line-height:var(--leading-loose);
  margin-bottom:var(--space-lg);
}
.footer-cta-grid {
  display:flex; justify-content:center;
}
.footer-cta-box {
  background:transparent; padding:var(--space-lg) var(--space-md);
  display:flex; flex-direction:column; align-items:center; gap:var(--space-md);
  text-align:center; transition:background var(--dur-normal);
  min-width:280px;
}
.footer-cta-box:hover { background:transparent; }
.footer-cta-box-title {
  font-family:var(--font-serif-ja); font-size:var(--text-body); font-weight:300;
  color:rgba(255,255,255,.8); line-height:var(--leading-tight);
}
.footer-cta-box-note {
  font-family:var(--font-sans-ja); font-size:var(--text-caption);
  color:rgba(255,255,255,.35); letter-spacing:var(--tracking-normal);
  display:block; margin-top:4px;
}
@media (max-width:767px) {
  .footer-cta-grid { grid-template-columns:1fr; }
  .btn-cta-pink, .btn-cta-white { width:100%; }
}

/* ── FOOTER ── */
.site-footer { background:var(--color-footer-bg); border-top:none; position:relative; }
.site-footer::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:6px; pointer-events:none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 8' preserveAspectRatio='none'%3E%3Cpath d='M0,4 C20,3.4 40,4.6 60,4 C80,3.5 100,4.5 120,4.1 C140,3.7 160,4.4 180,4 C200,3.6 220,4.3 240,4 C260,3.7 280,4.4 300,4.1 C320,3.6 340,4.5 360,4 C380,3.5 395,4.2 400,4' stroke='%23111' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3Cpath d='M0,4.5 C30,4.1 70,5 110,4.4 C150,3.9 200,4.6 250,4.2 C300,3.8 350,4.5 400,4.3' stroke='%23111' stroke-width='0.5' fill='none' stroke-linecap='round' opacity='0.3'/%3E%3C/svg%3E") repeat-x center / 400px 8px;
  opacity: 0.85;
}
.footer-main {
  padding:var(--space-2xl) 0 var(--space-xl);
  display:grid; grid-template-columns:200px 1fr; gap:var(--space-2xl);
}
.footer-logo { margin-bottom:var(--space-md); flex-shrink:0; line-height:0; }
.footer-logo img { width:177px; height:auto; max-width:none; display:block; object-fit:contain; }
.footer-tagline {
  font-family:var(--font-serif-ja); font-size:var(--text-caption); font-weight:300;
  line-height:var(--leading-loose); color:var(--color-ink-tertiary);
}
.footer-links {
  display:grid; grid-template-columns:repeat(4,max-content);
  justify-content:space-between; gap:var(--space-lg);
}
.footer-col h4 {
  font-family:var(--font-sans-ja); font-size:var(--text-label); font-weight:700;
  letter-spacing:var(--tracking-widest); color:var(--color-ink-tertiary);
  text-transform:uppercase; margin-bottom:var(--space-sm);
}
.footer-col ul { display:flex; flex-direction:column; gap:6px; }
.footer-col a {
  font-family:var(--font-sans-ja); font-size:var(--text-caption); font-weight:400;
  color:var(--color-ink-secondary); letter-spacing:var(--tracking-normal);
  transition:color var(--dur-fast); white-space:nowrap;
}
.footer-col a:hover { color:var(--color-ink-primary); }
.footer-col.keywords a {
  font-size:var(--text-caption); color:var(--color-ink-tertiary);
}
.footer-col.keywords a:hover { color:var(--color-ink-secondary); }
.footer-bottom {
  border-top:none; padding:var(--space-md) 0;
  display:flex; align-items:center; justify-content:center;
  gap:var(--space-md); flex-wrap:wrap;
  position:relative;
}
.footer-bottom::before {
  content:''; position:absolute; top:0; left:0; right:0;
  height:6px; pointer-events:none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 400 8' preserveAspectRatio='none'%3E%3Cpath d='M0,4 C20,3.4 40,4.6 60,4 C80,3.5 100,4.5 120,4.1 C140,3.7 160,4.4 180,4 C200,3.6 220,4.3 240,4 C260,3.7 280,4.4 300,4.1 C320,3.6 340,4.5 360,4 C380,3.5 395,4.2 400,4' stroke='%23111' stroke-width='1.6' fill='none' stroke-linecap='round'/%3E%3Cpath d='M0,4.5 C30,4.1 70,5 110,4.4 C150,3.9 200,4.6 250,4.2 C300,3.8 350,4.5 400,4.3' stroke='%23111' stroke-width='0.5' fill='none' stroke-linecap='round' opacity='0.3'/%3E%3C/svg%3E") repeat-x center / 400px 8px;
  opacity: 0.85;
}
.footer-copy {
  font-family:var(--font-sans-ja); font-size:var(--text-label); font-weight:400;
  color:var(--color-ink-tertiary);
}
.footer-legal { display:flex; gap:var(--space-md); }
.footer-legal a {
  font-family:var(--font-sans-ja); font-size:var(--text-caption); font-weight:400;
  color:var(--color-ink-tertiary); transition:color var(--dur-fast);
}
.footer-legal a:hover { color:var(--color-ink-secondary); }
@media (max-width:1023px) {
  .footer-main { grid-template-columns:1fr; }
  .footer-links { grid-template-columns:repeat(2,1fr); }
}
@media (max-width:767px) {
  .footer-links { grid-template-columns:1fr 1fr; gap:var(--space-md); }
  .footer-bottom { flex-direction:column; align-items:center; }
}



.illust-ph img,
.blog-card img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
.resource-card-thumb,
.resource-card-thumb .illust-ph {
	aspect-ratio: 284 / 402 !important;
}
.resource-card-thumb .illust-ph img {
	object-fit: contain;
}
.res-card .illust-ph img {
	object-fit: contain;
}
.res-card .res-thumb,
.res-card .illust-ph {
	aspect-ratio: 284 / 402 !important;
}
.breadcrumb-inner {
	flex-wrap: wrap;
}

/* ── TABLE OF CONTENTS ── */
#toc_container {
  background:var(--color-surface) !important;
  border-radius:var(--radius-md) !important;
  padding:var(--space-md) var(--space-lg) !important;
  margin-bottom:var(--space-lg) !important;
  position:relative !important;
	border: none !important;
}
#toc_container::before {
  content:''; position:absolute; inset:0; border-radius:var(--radius-md);
  pointer-events:none;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 1000' preserveAspectRatio='none'%3E%3Cpath d='M6,5 C150,3.5 300,5.8 450,4.5 C600,3.2 750,5.5 900,4.2 C950,3.8 975,4.8 994,5' stroke='%23111' stroke-width='1.6' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M995,6 C993.5,150 996,300 994.5,500 C993,700 995.5,850 994,994' stroke='%23111' stroke-width='1.6' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M994,995 C850,997 700,994.5 500,996 C300,997.5 150,995 50,996 C25,996 10,995.5 6,995' stroke='%23111' stroke-width='1.6' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3Cpath d='M5,994 C3.5,850 6,700 4.5,500 C3,300 5.5,150 5,6' stroke='%23111' stroke-width='1.6' fill='none' stroke-linecap='round' vector-effect='non-scaling-stroke'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
  opacity:0.45; z-index:0;
}
#toc_container p.toc_title {
	font-family: var(--font-serif-ja) !important;
	font-size: var(--text-body) !important;
	font-weight: 300 !important;
	margin-bottom: var(--space-md) !important;
	letter-spacing:var(--tracking-widest);
  text-transform:uppercase;
	color:var(--color-ink-tertiary);
	position:relative; z-index:1;
	text-align: left !important;
}
#toc_container ul.toc_list {
  list-style:decimal;
	padding-left:0;
  margin:0 !important;
	position:relative; z-index:1;
}
#toc_container ul.toc_list  li {
  font-family:var(--font-serif-ja); font-size:var(--text-body-sm); font-weight:300;
  line-height:var(--leading-loose); color:var(--color-ink-secondary);
  margin-bottom:2px;
}
#toc_container ul.toc_list  li a {
  color:var(--color-ink-secondary); text-decoration:none;
  transition:color var(--dur-fast);
}
#toc_container ul.toc_list  li a:hover { color:var(--color-accent); }

.body-excerpt {
	margin-bottom: var(--space-md);
}


/* ── PAGINATION ── */
.c-pager .wp-pagenavi {
  display:flex; align-items:center; justify-content:center;
  gap:var(--space-xs);
}
.c-pager .wp-pagenavi span ,
.c-pager .wp-pagenavi a {
  display:inline-flex; align-items:center; justify-content:center;
  width:40px; height:40px; border-radius:var(--radius-md);
  font-family:var(--font-serif-en); font-size:var(--text-body-sm); font-style:italic;
  color:var(--color-ink-tertiary); border:1px solid var(--color-border);
  background:transparent; cursor:none;
  transition:background var(--dur-fast), color var(--dur-fast), border-color var(--dur-fast);
}
.c-pager .wp-pagenavi a:hover,
.c-pager .wp-pagenavi span {
  background:var(--color-ink-primary); color:#fff; border-color:var(--color-ink-primary);
}
.c-pager .wp-pagenavi span { pointer-events:none; }
.c-pager .wp-pagenavi a.nextpostslink ,
.c-pager .wp-pagenavi a.prevpostslink {
	font-style:normal; font-family:var(--font-serif-en); 
}