
:root {
  --g0: #fffbe8;
  --g1: #f0d98a;
  --g2: #d4af37;
  --g3: #a8890a;
  --g4: #7a6408;
  --p1: #f5a0ab;
  --p2: #EA5D6E;
  --p3: #c43d50;
  --ink: #0a0404;
  --ink2: #180808;
  --ink3: #220c0c;
  --fog: rgba(255,251,232,.07);
  --fog2: rgba(212,175,55,.12);
}

.post_content, .post_content *, .post_content *::before, .post_content *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; }

/* Site chrome stays theme-default; dark design only in page content */
body {
  background: #fff !important;
  color: inherit !important;
  font-family: inherit !important;
  overflow-x: hidden;
}
.post_content {
  font-family: 'Shippori Mincho B1', serif;
  background: var(--ink);
  color: var(--g0);
  overflow-x: hidden;
  cursor: default;
  position: relative;
}

/* ━━━━ ANIMATIONS ━━━━ */
@keyframes rise      { from { opacity:0; transform:translateY(40px) } to { opacity:1; transform:translateY(0) } }
@keyframes scalePop  { from { opacity:0; transform:scale(.88) } to { opacity:1; transform:scale(1) } }
@keyframes spinL     { to { transform: rotate(360deg) } }
@keyframes spinR     { to { transform: rotate(-360deg) } }
@keyframes pulse     { 0%,100% { opacity:.35 } 50% { opacity:1 } }
@keyframes shimmer   { 0%,100% { background-position:0% center } 50% { background-position:200% center } }
@keyframes glow      { 0%,100% { box-shadow:0 0 30px rgba(212,175,55,.25),0 0 60px rgba(212,175,55,.08) } 50% { box-shadow:0 0 60px rgba(212,175,55,.55),0 0 120px rgba(212,175,55,.2) } }
@keyframes flicker   { 0%,100%{opacity:.75} 47%{opacity:.72} 48%{opacity:.4} 49%{opacity:.75} 92%{opacity:.72} 93%{opacity:.5} 94%{opacity:.75} }
@keyframes scanline  { from { top:-100% } to { top:100% } }
/* ━━━━ NOISE OVERLAY ━━━━ */
.post_content::before {
  content:'';
  position:absolute;inset:0;z-index:0;pointer-events:none;
  opacity:.025;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='1'/%3E%3C/svg%3E");
  background-size:200px 200px;
}

/* ━━━━━━━━━━━━━━━━━━━━━━
   S1: HERO — 商標宣言
━━━━━━━━━━━━━━━━━━━━━━ */
.hero {
  position:relative; min-height:100vh;
  display:flex; flex-direction:column;
  align-items:center; justify-content:center;
  padding:80px 24px 120px; text-align:center;
  overflow:hidden;
}

/* Radiant background */
.hero-glow {
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 80% 60% at 50% -10%, rgba(212,175,55,.18) 0%, transparent 60%),
    radial-gradient(ellipse 50% 40% at 20% 80%, rgba(234,93,110,.07) 0%, transparent 50%),
    radial-gradient(ellipse 50% 40% at 80% 80%, rgba(212,175,55,.06) 0%, transparent 50%),
    linear-gradient(170deg, #100606 0%, #1a0808 50%, #0e0505 100%);
}

/* Floating star particles */
.stars {
  position:absolute;inset:0;pointer-events:none;
}
.stars span {
  position:absolute;
  border-radius:50%;
  background: var(--g2);
  animation: flicker var(--d,3s) ease-in-out infinite;
  animation-delay: var(--del,0s);
}

/* Grand Seal */
.seal-wrap {
  position:relative;z-index:5;
  margin-bottom:60px;
  animation: scalePop 1.8s cubic-bezier(.16,1,.3,1) both .3s;
}
.seal-outer {
  width:220px;height:220px;margin:0 auto;
  border-radius:50%;
  border:1px solid rgba(212,175,55,.3);
  display:flex;align-items:center;justify-content:center;
  position:relative;
  animation: glow 5s ease-in-out infinite;
}
.seal-outer::before {
  content:'';position:absolute;inset:-1px;border-radius:50%;
  border:1px dashed rgba(212,175,55,.18);
  animation: spinL 30s linear infinite;
}
.seal-mid {
  width:182px;height:182px;border-radius:50%;
  border:1px solid rgba(212,175,55,.22);
  display:flex;align-items:center;justify-content:center;
  position:relative;
}
.seal-mid::before {
  content:'';position:absolute;inset:0;border-radius:50%;
  border:1px dashed rgba(234,93,110,.12);
  animation: spinR 20s linear infinite;
}
/* Orbit dots */
.seal-mid::after {
  content:'• • • • • • • • • • • •';
  position:absolute;inset:-22px;border-radius:50%;
  font-size:8px;letter-spacing:4.2px;
  color:rgba(212,175,55,.2);
  display:flex;align-items:center;justify-content:center;
  animation: spinL 18s linear infinite;
  white-space:nowrap;overflow:hidden;
  width:226px;height:226px;text-align:center;
  line-height:226px;
}
.seal-core {
  width:136px;height:136px;border-radius:50%;
  background:
    radial-gradient(circle at 38% 32%, rgba(212,175,55,.2), rgba(212,175,55,.03) 70%);
  border:2px solid rgba(212,175,55,.45);
  box-shadow:inset 0 0 30px rgba(212,175,55,.08), 0 0 30px rgba(212,175,55,.15);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;
}
.seal-label { font-family:'Cinzel',serif;font-size:7.5px;letter-spacing:.5em;color:var(--g4);line-height:1 }
.seal-char {
  font-family:'Cinzel', serif;font-size:40px;font-weight:400;
  color:var(--g2);line-height:1;
  text-shadow:0 0 30px rgba(212,175,55,.7);
}
.seal-jp { font-family:'Shippori Mincho B1',serif;font-size:7px;letter-spacing:.25em;color:rgba(212,175,55,.4) }

/* Hero Text */
.hero-body { position:relative;z-index:5;max-width:840px;margin:0 auto }

.kv-eyebrow {
  font-family:'Cinzel',serif;font-size:11px;letter-spacing:.7em;
  color:var(--g3);margin-bottom:22px;display:block;
  animation: rise 1s ease both .8s;
}
.kv-main {
  font-family:'Cinzel',serif;
  font-size:clamp(36px,7vw,80px);font-weight:700;
  letter-spacing:.04em;line-height:1.05;
  margin-bottom:12px;
  background:linear-gradient(135deg, var(--g0) 0%, var(--g2) 30%, var(--g1) 50%, var(--g2) 70%, var(--g0) 100%);
  background-size:300% auto;
  -webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;
  animation: rise 1.4s cubic-bezier(.16,1,.3,1) both 1s, shimmer 5s ease-in-out 2.5s infinite;
}
.kv-tm { font-size:.45em;vertical-align:super;-webkit-text-fill-color:var(--g2) }
.kv-ja {
  font-family:'Shippori Mincho B1',serif;
  font-size:clamp(14px,2.2vw,20px);letter-spacing:.45em;font-weight:400;
  color:rgba(212,175,55,.5);margin-bottom:44px;
  animation: rise 1.2s ease both 1.2s;
}

/* TM Banner */
.tm-banner {
  display:inline-flex;align-items:center;gap:20px;
  border:1px solid rgba(212,175,55,.35);
  padding:14px 40px;margin-bottom:48px;
  background:linear-gradient(135deg,rgba(212,175,55,.1),rgba(234,93,110,.06));
  position:relative;overflow:hidden;
  animation: rise 1s ease both 1.4s;
}
.tm-banner::before {
  content:'';position:absolute;top:0;left:-100%;width:200%;height:1px;
  background:linear-gradient(90deg,transparent,var(--g2),transparent);
  animation: scanline 3s ease-in-out infinite;
}
.tm-banner span { font-family:'Cinzel',serif;font-size:clamp(9px,1.5vw,12px);letter-spacing:.45em;color:var(--g1) }
.tm-sep { width:1px;height:20px;background:rgba(212,175,55,.3) }

.hero-desc {
  font-size:clamp(16px,2.2vw,20px);line-height:2.8;
  color:rgba(255,251,232,.88);font-weight:400;
  max-width:660px;margin:0 auto;
  animation: rise 1s ease both 1.6s;
}
.hero-desc em { color:var(--g1);font-style:normal;font-weight:400 }

.scroll-hint {
  margin-top:52px;display:flex;flex-direction:column;align-items:center;gap:8px;
  color:rgba(212,175,55,.3);font-family:'Cinzel',serif;font-size:9px;letter-spacing:.5em;
  animation: rise 1s ease both 1.8s;
}
.scroll-bar { width:1px;height:48px;background:linear-gradient(to bottom,var(--g2),transparent);animation:pulse 2.4s ease-in-out infinite }

/* ━━━━━━━━━━━━━━━━━━━━━━
   DIVIDER
━━━━━━━━━━━━━━━━━━━━━━ */
.divider {
  display:flex;align-items:center;gap:20px;
  padding:0 32px;
}
.div-line { flex:1;height:1px }
.div-l { background:linear-gradient(to right,transparent,rgba(212,175,55,.3)) }
.div-r { background:linear-gradient(to left,transparent,rgba(212,175,55,.3)) }
.div-gem { width:10px;height:10px;background:var(--g2);transform:rotate(45deg);box-shadow:0 0 14px rgba(212,175,55,.8) }

/* ━━━━━━━━━━━━━━━━━━━━━━
   S2: FIRST USE TIMELINE
━━━━━━━━━━━━━━━━━━━━━━ */
.timeline-section {
  padding:100px 24px;
  background:linear-gradient(180deg,var(--ink),var(--ink2));
  border-top:3px solid var(--g2);
  position:relative;overflow:hidden;
}
.timeline-section::before {
  content:'';position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--p2),var(--g2),var(--p2),transparent);
}

.section-header { text-align:center;margin-bottom:80px }
.sec-eyebrow {
  font-family:'Cinzel',serif;font-size:11px;letter-spacing:.65em;
  color:var(--g3);margin-bottom:18px;display:block;
}
.sec-title-en {
  font-family:'Cinzel',serif;
  font-size:clamp(28px,5vw,52px);font-style:italic;font-weight:400;
  color:var(--g0);margin-bottom:10px;line-height:1.2;
}
.sec-title-ja {
  font-size:clamp(13px,1.8vw,16px);letter-spacing:.3em;
  color:var(--p1);font-weight:400;
}
.orn { display:flex;align-items:center;justify-content:center;gap:16px;margin:16px 0 }
.orn-l { flex:1;max-width:120px;height:1px;background:linear-gradient(to right,transparent,rgba(212,175,55,.35)) }
.orn-lr { background:linear-gradient(to left,transparent,rgba(212,175,55,.35)) }
.orn-d { width:8px;height:8px;border:1.5px solid rgba(212,175,55,.45);transform:rotate(45deg) }

/* Timeline Track */
.timeline-track { max-width:800px;margin:0 auto;position:relative }
.timeline-axis {
  position:absolute;left:50%;top:0;bottom:0;width:1px;
  background:linear-gradient(to bottom,transparent,rgba(212,175,55,.25) 5%,rgba(212,175,55,.25) 95%,transparent);
  transform:translateX(-50%);
}
.timeline-axis::before {
  content:'';position:absolute;left:-2px;top:0;width:5px;height:5px;border-radius:50%;background:var(--g2);
  box-shadow:0 0 12px var(--g2);
}
.timeline-axis::after {
  content:'';position:absolute;left:-2px;bottom:0;width:5px;height:5px;border-radius:50%;background:var(--g2);
  box-shadow:0 0 12px var(--g2);
}

.tl-item {
  display:grid;grid-template-columns:1fr 60px 1fr;
  align-items:center;margin-bottom:0;
  position:relative;
}
.tl-item:nth-child(even) .tl-content { order:3;text-align:left }
.tl-item:nth-child(even) .tl-empty { order:1 }

.tl-content {
  padding:28px 32px;
  border:1px solid rgba(212,175,55,.12);
  background:linear-gradient(135deg,rgba(255,255,255,.025),rgba(255,255,255,.01));
  position:relative;
  transition:all .35s ease;
}
.tl-content:hover {
  border-color:rgba(212,175,55,.28);
  background:linear-gradient(135deg,rgba(212,175,55,.06),rgba(212,175,55,.02));
}
.tl-year {
  font-family:'Cinzel',serif;font-size:clamp(22px,3.5vw,34px);font-weight:700;
  color:var(--g2);line-height:1;margin-bottom:10px;
  text-shadow:0 0 20px rgba(212,175,55,.4);
}
.tl-event {
  font-family:'Shippori Mincho B1',serif;font-size:clamp(14px,1.8vw,17px);font-weight:700;
  color:var(--g0);margin-bottom:8px;line-height:1.5;
}
.tl-desc {
  font-size:clamp(13px,1.6vw,15px);line-height:2.2;
  color:rgba(240,225,195,.88);font-weight:400;
}
.tl-badge {
  display:inline-flex;align-items:center;gap:6px;
  background:rgba(234,93,110,.12);border:1px solid rgba(234,93,110,.25);
  padding:3px 12px;margin-top:10px;
  font-family:'Cinzel',serif;font-size:9px;letter-spacing:.25em;color:var(--p1);
}

.tl-center { display:flex;align-items:center;justify-content:center }
.tl-dot {
  width:18px;height:18px;border-radius:50%;
  background:radial-gradient(circle,var(--g2),var(--g3));
  border:3px solid var(--ink);
  box-shadow:0 0 0 2px var(--g3),0 0 16px rgba(212,175,55,.6);
  z-index:2;
}
.tl-empty { opacity:0;pointer-events:none }

.tl-spacer { height:24px }

/* ━━━━━━━━━━━━━━━━━━━━━━
   S3: 5 REASONS (独自性)
━━━━━━━━━━━━━━━━━━━━━━ */
.reasons-section {
  padding:100px 24px;
  background:linear-gradient(180deg,var(--ink2),var(--ink3));
  border-top:1px solid rgba(212,175,55,.12);
}

.reasons-grid { max-width:960px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:2px }

.reason-card {
  background:rgba(255,255,255,.02);
  border:1px solid rgba(212,175,55,.1);
  padding:44px 44px;
  position:relative;overflow:hidden;
  transition:all .4s cubic-bezier(.16,1,.3,1);
}
.reason-card::before {
  content:'';position:absolute;inset:0;
  background:linear-gradient(135deg,rgba(212,175,55,.06),transparent);
  opacity:0;transition:opacity .4s ease;
}
.reason-card::after {
  content:'';position:absolute;bottom:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg,transparent,var(--g2),transparent);
  transform:scaleX(0);transition:transform .5s ease;
}
.reason-card:hover::before { opacity:1 }
.reason-card:hover::after { transform:scaleX(1) }
.reason-card:hover { border-color:rgba(212,175,55,.25) }

/* Full-width card */
.reason-card.full { grid-column:1/-1 }

.rc-no {
  font-family:'Cinzel',serif;
  font-size:64px;font-weight:700;
  color:rgba(212,175,55,.07);
  line-height:1;position:absolute;top:20px;right:24px;
  letter-spacing:-.02em;
}
.rc-tag {
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(234,93,110,.25);
  padding:4px 14px;margin-bottom:16px;
  background:rgba(234,93,110,.07);
}
.rc-tag span { font-family:'Cinzel',serif;font-size:9px;letter-spacing:.3em;color:var(--p1) }
.rc-title {
  font-family:'Shippori Mincho B1',serif;
  font-size:clamp(17px,2.2vw,22px);font-weight:700;
  color:var(--g0);margin-bottom:16px;line-height:1.5;
  position:relative;z-index:1;
}
.rc-title em { color:var(--g1);font-style:normal }
.rc-body {
  font-size:clamp(14px,1.7vw,16px);line-height:2.4;
  color:rgba(240,225,195,.90);font-weight:400;
  position:relative;z-index:1;
}
.rc-body em { color:var(--g1);font-style:normal;font-weight:400 }
.rc-body strong { color:var(--p1);font-weight:400 }

/* ━━━━━━━━━━━━━━━━━━━━━━
   S4: STATS STRIP
━━━━━━━━━━━━━━━━━━━━━━ */
.stats-strip {
  background:linear-gradient(135deg,rgba(234,93,110,.55),rgba(234,93,110,.45),rgba(234,93,110,.55));
  border-top:1px solid rgba(234,93,110,.7);
  border-bottom:1px solid rgba(234,93,110,.7);
  padding:52px 24px;
}
.stats-inner { max-width:900px;margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:1px }
.stat-box {
  text-align:center;padding:28px 20px;
  border-right:1px solid rgba(212,175,55,.1);
  position:relative;
}
.stat-box:last-child { border-right:none }
.stat-num {
  font-family:'Cinzel',serif;
  font-size:clamp(28px,4.5vw,48px);font-weight:700;
  color:#fff;line-height:1;margin-bottom:10px;
  text-shadow:0 0 20px rgba(255,255,255,.3);
}
.stat-num sup { font-size:.45em;vertical-align:super }
.stat-label { font-size:clamp(13px,1.6vw,15px);letter-spacing:.18em;color:rgba(255,235,235,.95);font-weight:400;line-height:1.7 }

/* ━━━━━━━━━━━━━━━━━━━━━━
   S5: COMPARISON TABLE
━━━━━━━━━━━━━━━━━━━━━━ */
.compare-section {
  padding:100px 24px;
  background:linear-gradient(180deg,var(--ink3),var(--ink2));
  border-top:1px solid rgba(212,175,55,.1);
}
.compare-wrap { max-width:940px;margin:0 auto }

/* Header row */
.ct-head {
  display:grid;grid-template-columns:180px 1fr 1fr;
  border:1px solid rgba(212,175,55,.2);border-bottom:none;
  overflow:hidden;
}
.ct-h0 {
  background:rgba(212,175,55,.04);
  border-right:1px solid rgba(212,175,55,.15);
  padding:24px;
}
.ct-h1 {
  padding:24px 32px;
  background:rgba(50,30,30,.5);
  border-right:1px solid rgba(212,175,55,.1);
}
.ct-h1-title { font-family:'Cinzel',serif;font-size:13px;letter-spacing:.25em;color:rgba(200,180,170,.9);margin-bottom:6px }
.ct-h1-sub { font-size:13px;color:rgba(220,200,195,.9);letter-spacing:.08em }
.ct-h2 {
  padding:24px 32px;
  background:linear-gradient(135deg,rgba(234,93,110,.22),rgba(212,175,55,.14));
}
.ct-h2-title { font-family:'Cinzel',serif;font-size:13px;letter-spacing:.25em;color:var(--g1);margin-bottom:6px }
.ct-h2-sub { font-size:13px;color:rgba(245,160,171,.95);letter-spacing:.08em }
.ct-h2-badge {
  display:inline-block;background:var(--p3);
  font-family:'Cinzel',serif;font-size:9px;letter-spacing:.2em;color:#fff;
  padding:3px 12px;margin-top:8px;
}

/* Body rows */
.ct-row {
  display:grid;grid-template-columns:180px 1fr 1fr;
  border:1px solid rgba(212,175,55,.15);border-top:none;
  transition:background .25s;
}
.ct-row:hover { background:rgba(212,175,55,.04) }
.ct-c0 {
  padding:24px 20px;
  background:rgba(212,175,55,.05);
  border-right:1px solid rgba(212,175,55,.12);
}
.ct-c0-en { font-family:'Cinzel',serif;font-size:11px;letter-spacing:.3em;color:var(--g2);display:block;margin-bottom:5px }
.ct-c0-ja { font-size:14px;color:rgba(220,200,180,.8);font-weight:400 }
.ct-c1 {
  padding:24px 28px;
  background:rgba(40,20,20,.25);
  border-right:1px solid rgba(212,175,55,.1);
  font-size:clamp(15px,1.9vw,17px);color:rgba(225,210,205,.95);font-weight:400;line-height:2.1;
}
.ct-c2 {
  padding:24px 28px;
  font-size:clamp(15px,1.9vw,17px);color:rgba(255,251,232,.95);font-weight:400;line-height:2.1;
}
.ct-c2 em { color:var(--p1);font-style:normal;font-weight:400 }

/* ━━━━━━━━━━━━━━━━━━━━━━
   S6: FOUNDER
━━━━━━━━━━━━━━━━━━━━━━ */
.founder-section {
  padding:100px 24px;
  background:linear-gradient(160deg,#110606,#1e0a0a,#110606);
  border-top:1px solid rgba(212,175,55,.15);
  position:relative;overflow:hidden;
}
.founder-section::before {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 50% at 50% 0%,rgba(212,175,55,.1),transparent 60%);
}

.founder-card {
  max-width:880px;margin:0 auto;
  border:1px solid rgba(212,175,55,.22);
  border-top:3px solid var(--g2);
  background:rgba(255,255,255,.018);
  padding:64px 72px;
  position:relative;z-index:1;
  box-shadow:0 0 100px rgba(212,175,55,.05),inset 0 0 60px rgba(0,0,0,.4);
}
.founder-card::before { content:'';position:absolute;inset:12px;border:1px solid rgba(212,175,55,.07);pointer-events:none }

.f-top { display:flex;align-items:flex-start;gap:48px;margin-bottom:52px }

/* Photo */
.f-photo {
  flex-shrink:0;
  width:150px;height:150px;border-radius:50%;overflow:hidden;
  border:2px solid var(--g2);
  box-shadow:0 0 0 7px rgba(212,175,55,.1),0 0 0 9px rgba(212,175,55,.15),0 16px 50px rgba(0,0,0,.7);
}
.f-photo img { width:100%;height:100%;object-fit:cover;object-position:center top }

.f-meta { flex:1 }
.f-role {
  display:inline-flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,rgba(234,93,110,.15),rgba(212,175,55,.08));
  border:1px solid rgba(212,175,55,.3);
  padding:7px 22px;margin-bottom:18px;
}
.f-role::before,.f-role::after { content:'✦';color:rgba(212,175,55,.5);font-size:9px }
.f-role span { font-family:'Cinzel',serif;font-size:10px;letter-spacing:.35em;color:var(--g1) }
.f-name-en {
  font-family:'Cinzel',serif;
  font-size:clamp(22px,3.5vw,36px);font-weight:700;
  color:var(--g1);letter-spacing:.08em;margin-bottom:8px;
  text-shadow:0 0 24px rgba(212,175,55,.3);
}
.f-name-ja { font-family:'Shippori Mincho B1',serif;font-size:clamp(16px,2vw,20px);letter-spacing:.35em;color:rgba(212,175,55,.45);font-weight:400;margin-bottom:6px }
.f-titles { font-size:13px;letter-spacing:.18em;color:rgba(230,210,190,.85);font-weight:400;line-height:2.2 }

/* Quote */
.f-quote {
  border-left:3px solid var(--p2);
  padding:24px 36px;margin-bottom:40px;
  background:rgba(234,93,110,.04);
}
.f-quote-text {
  font-family:'Cinzel',serif;
  font-size:clamp(18px,2.6vw,26px);font-style:italic;font-weight:400;
  color:var(--g0);line-height:2;
}
.f-quote-text em { color:var(--g1);font-style:normal }

.f-creds { display:flex;flex-direction:column;gap:11px }
.f-cred {
  display:flex;align-items:flex-start;gap:14px;
  font-size:clamp(13px,1.7vw,15px);color:rgba(230,210,190,.9);line-height:1.8;font-weight:400;
}
.f-cred-mark { color:var(--g2);flex-shrink:0;font-size:11px;margin-top:4px }

/* ━━━━━━━━━━━━━━━━━━━━━━
   S7: IP DECLARATION
━━━━━━━━━━━━━━━━━━━━━━ */
.ip-section {
  padding:80px 24px;
  background:linear-gradient(180deg,var(--ink2),#080202);
  border-top:1px solid rgba(212,175,55,.15);
}
.ip-frame {
  max-width:800px;margin:0 auto;
  border:1px solid rgba(212,175,55,.22);
  border-left:4px solid var(--g2);
  padding:52px 64px;
  background:linear-gradient(135deg,rgba(212,175,55,.04),rgba(212,175,55,.01));
  position:relative;
}
.ip-frame::before {
  content:'© Intellectual Property Declaration';
  position:absolute;top:18px;right:24px;
  font-family:'Cinzel',serif;font-size:8px;letter-spacing:.3em;color:rgba(212,175,55,.18);
}
.ip-title { font-family:'Cinzel',serif;font-size:13px;letter-spacing:.45em;color:var(--g2);margin-bottom:24px;display:block }
.ip-body {
  font-size:clamp(14px,1.8vw,17px);line-height:2.7;
  color:rgba(230,210,190,.9);font-weight:400;
}
.ip-body em { color:var(--g1);font-style:normal;font-weight:400 }
.ip-body strong { color:var(--p1);font-weight:400 }

/* ━━━━━━━━━━━━━━━━━━━━━━
   S8: AUTHENTICITY SEAL
━━━━━━━━━━━━━━━━━━━━━━ */
.auth-section {
  padding:100px 24px;
  text-align:center;
  background:#060101;
  border-top:1px solid rgba(212,175,55,.12);
  position:relative;overflow:hidden;
}
.auth-section::before {
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 80% at 50% 50%,rgba(212,175,55,.07),transparent 65%);
}

.auth-inner { max-width:700px;margin:0 auto;position:relative;z-index:1 }

/* Grand auth seal */
.auth-seal {
  width:200px;height:200px;margin:0 auto 56px;
  border-radius:50%;
  border:2px solid var(--g2);
  box-shadow:0 0 0 10px rgba(212,175,55,.08),0 0 0 12px rgba(212,175,55,.13),0 0 80px rgba(212,175,55,.25);
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;
  background:radial-gradient(circle at 38% 32%,rgba(212,175,55,.14),rgba(212,175,55,.02) 70%);
  animation:glow 6s ease-in-out infinite;
  position:relative;
}
.auth-seal::before {
  content:'';position:absolute;inset:14px;border-radius:50%;
  border:1px dashed rgba(212,175,55,.22);
  animation:spinL 22s linear infinite;
}
.auth-seal-top { font-family:'Cinzel',serif;font-size:8px;letter-spacing:.45em;color:var(--g3);line-height:1.4;text-align:center;position:relative;z-index:1 }
.auth-seal-main { font-family:'Cinzel', serif;font-size:34px;font-weight:400;color:var(--g2);text-shadow:0 0 20px rgba(212,175,55,.7);position:relative;z-index:1 }
.auth-seal-bot { font-family:'Shippori Mincho B1',serif;font-size:8px;letter-spacing:.2em;color:rgba(212,175,55,.4);position:relative;z-index:1 }

.auth-title {
  font-family:'Cinzel',serif;
  font-size:clamp(26px,4.5vw,48px);font-style:italic;font-weight:400;
  color:var(--g0);line-height:1.6;margin-bottom:28px;
}
.auth-title em { color:var(--g1);font-style:normal }
.auth-sub {
  font-size:clamp(14px,1.9vw,18px);line-height:2.6;
  color:rgba(230,210,190,.9);font-weight:400;margin-bottom:48px;
}

.auth-badges {
  display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:52px;
}
.ab {
  display:inline-flex;align-items:center;gap:8px;
  border:1px solid rgba(212,175,55,.28);
  padding:10px 22px;
  font-family:'Cinzel',serif;font-size:9px;letter-spacing:.3em;
  color:var(--g1);background:rgba(212,175,55,.05);
}
.ab::before { content:'✦';color:var(--g2);font-size:8px }

/* ━━━━━━━━━━━━━━━━━━━━━━
   FOOTER
━━━━━━━━━━━━━━━━━━━━━━ */
.post_content .footer {
  background:linear-gradient(135deg,#050101,#0a0303) !important;
  border-top:2px solid var(--g3);
  padding:60px 24px;text-align:center;
}
.foot-orn { display:flex;align-items:center;justify-content:center;gap:20px;margin-bottom:28px }
.fl { flex:1;max-width:120px;height:1px;background:linear-gradient(to right,transparent,var(--g3)) }
.flr { background:linear-gradient(to left,transparent,var(--g3)) }
.fgem { font-size:18px;color:var(--g2) }
.f-name { font-family:'Cinzel',serif;font-size:clamp(18px,2.8vw,28px);font-weight:700;color:var(--g0);letter-spacing:.08em;margin-bottom:10px;text-shadow:0 0 24px rgba(212,175,55,.6) }
.f-title { font-size:15px;letter-spacing:.22em;color:rgba(240,220,180,.85);font-weight:400 }

/* ━━━━━━━━━━━━━━━━━━━━━━
   RESPONSIVE
━━━━━━━━━━━━━━━━━━━━━━ */
@media(max-width:720px){
  .tl-item {
    grid-template-columns:36px 1fr !important;
    gap:12px;
    align-items:start;
  }
  .tl-empty { display:none !important; }
  .tl-center { order:1 !important; padding-top:22px; }
  .tl-content,
  .tl-item:nth-child(even) .tl-content {
    order:2 !important;
    text-align:left !important;
    width:auto !important;
    max-width:100% !important;
    padding:18px 16px !important;
  }
  .tl-item:nth-child(even) .tl-empty { display:none !important; }
  .compare-section { padding:64px 16px !important; }
  .compare-wrap { max-width:100%; overflow-x:hidden; }
  .ct-head {
    grid-template-columns:1fr 1fr !important;
  }
  .ct-h0 { display:none !important; }
  .ct-h1,.ct-h2 {
    padding:16px 12px !important;
    min-width:0 !important;
  }
  .ct-h1-title,.ct-h2-title {
    font-size:11px !important;
    letter-spacing:.06em !important;
    line-height:1.45 !important;
    word-break:keep-all;
    overflow-wrap:anywhere;
  }
  .ct-h1-sub,.ct-h2-sub {
    font-size:11px !important;
    letter-spacing:.02em !important;
    line-height:1.55 !important;
    word-break:keep-all;
  }
  .ct-h2-badge {
    display:inline-block !important;
    white-space:normal !important;
    letter-spacing:.06em !important;
    font-size:8px !important;
    line-height:1.4 !important;
    padding:4px 8px !important;
    margin-top:8px !important;
  }
  .ct-row {
    grid-template-columns:1fr 1fr !important;
    margin-bottom:8px;
  }
  .ct-c0 {
    grid-column:1 / -1 !important;
    padding:12px 14px !important;
    border-right:none !important;
    border-bottom:1px solid rgba(212,175,55,.12);
  }
  .ct-c0-en {
    letter-spacing:.12em !important;
    font-size:10px !important;
  }
  .ct-c0-ja { font-size:13px !important; }
  .ct-c1,.ct-c2 {
    min-width:0 !important;
    padding:14px 12px !important;
    font-size:13px !important;
    line-height:1.75 !important;
    overflow-wrap:anywhere;
    word-break:keep-all;
  }
  .ct-c1 { border-right:1px solid rgba(212,175,55,.1) !important; }
  .pub-banner {
    margin-left:0 !important;
    margin-right:0 !important;
    max-width:100% !important;
    width:100% !important;
    box-sizing:border-box !important;
    padding:1em .9em !important;
    text-align:center !important;
  }
  .pub-banner > div {
    letter-spacing:.02em !important;
    word-break:keep-all;
    overflow-wrap:anywhere;
  }
  .seal-wrap {
    margin-left:auto !important;
    margin-right:auto !important;
    max-width:100%;
    display:flex;
    justify-content:center;
  }
  .seal-outer {
    width:min(200px,72vw) !important;
    height:min(200px,72vw) !important;
  }
  .seal-mid {
    width:min(166px,60vw) !important;
    height:min(166px,60vw) !important;
  }
  .seal-core {
    width:min(124px,45vw) !important;
    height:min(124px,45vw) !important;
  }
  .seal-mid::after {
    display:none !important;
  }
  .kv-main {
    font-size:clamp(26px,8vw,40px) !important;
    letter-spacing:.02em !important;
  }
  .kv-eyebrow {
    letter-spacing:.12em !important;
    font-size:10px !important;
    padding:0 8px;
    word-break:keep-all;
  }
  .kv-ja {
    letter-spacing:.12em !important;
    margin-bottom:28px !important;
  }
  .hero {
    padding-left:16px !important;
    padding-right:16px !important;
  }
  .hero-body {
    max-width:100% !important;
    width:100%;
    box-sizing:border-box;
    overflow-x:hidden;
  }
  .tm-banner {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    padding:14px 16px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    margin-bottom:32px !important;
  }
  .tm-banner span {
    letter-spacing:.1em !important;
    font-size:10px !important;
    text-align:center !important;
    white-space:normal !important;
    line-height:1.5 !important;
    font-family:'Shippori Mincho B1','Cinzel',serif !important;
  }
  .tm-banner span:nth-of-type(2) {
    font-family:'Cinzel',serif !important;
    letter-spacing:.14em !important;
    font-size:11px !important;
  }
  .tm-sep {
    width:36px !important;
    height:1px !important;
  }
  .reasons-grid { grid-template-columns:1fr }
  .reason-card.full { grid-column:auto }
  .stats-inner { grid-template-columns:1fr 1fr;gap:1px }
  .stat-box { border-right:none;border-bottom:1px solid rgba(212,175,55,.08) }
  .founder-card { padding:36px 28px }
  .f-top { flex-direction:column;gap:28px }
  .ip-frame {
    padding:28px 18px !important;
    box-sizing:border-box;
    max-width:100%;
  }
  .ip-frame::before {
    position:static !important;
    display:block;
    margin-bottom:12px;
    text-align:left;
  }
  .auth-badges { flex-direction:column;align-items:center }
}



/* ===== Site chrome restore (header + footer) ===== */
#header,
#header_inner,
.pc .header_fix #header {
  background-color: rgba(251,251,251,1) !important;
}
#footer:empty {
  display: none !important;
}
#footer,
#footer_bottom,
#footer_social_link {
  background-color: rgba(251,251,251,1) !important;
  color: #333 !important;
}
#footer {
  min-height: 0 !important;
  height: auto !important;
  padding: 0 !important;
  margin: 0 !important;
}
#footer_bottom,
#footer_bottom a,
#footer_menu a,
#footer_menu li,
#copyright,
#copyright a {
  color: #333 !important;
}
#footer_bottom_inner {
  border-top: 1px solid #ddd !important;
}
#footer_menu li {
  border-right-color: #ddd !important;
}

/* Footer copyright fix */
#copyright {
  line-height: 1.7 !important;
  font-size: 12px !important;
  padding: 14px 16px !important;
  margin: 0 !important;
  text-align: center !important;
  word-break: keep-all;
  overflow-wrap: anywhere;
  box-sizing: border-box;
  max-width: 100%;
}
#copyright a {
  line-height: inherit !important;
  display: inline !important;
  letter-spacing: normal !important;
}
#ed-tm-notice {
  line-height: 1.75 !important;
  font-size: 12px !important;
  padding: 12px 16px 72px !important;
  margin: 0 auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  word-break: keep-all;
  overflow-wrap: anywhere;
  position: relative;
  z-index: 2;
  background: #fff;
  clear: both;
}
@media (max-width: 720px) {
  .footer .f-title {
    line-height: 1.8 !important;
    letter-spacing: .06em !important;
    font-size: 12px !important;
    word-break: keep-all;
    overflow-wrap: anywhere;
    max-width: 100%;
    padding: 0 8px;
  }
  .footer .f-name {
    letter-spacing: .04em !important;
  }
}
