/*
Theme Name: DISCOVER
Theme URI: https://discover.run-digital.com
Author: KOTA / run-digital.com
Author URI: https://run-digital.com
Description: 総合教育メディア「DISCOVER」のWordPressテーマ。歴史・理科・語彙・教養・難読漢字・なぞなぞ・診断クイズを統合管理。
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: discover
Tags: education, quiz, magazine, custom-post-types
*/

@import url('https://fonts.googleapis.com/css2?family=M+PLUS+Rounded+1c:wght@900&family=Shippori+Mincho+B1:wght@700;800&family=Zen+Maru+Gothic:wght@400;500;700;900&display=swap');

:root{
  --content-max: 1320px;
  --pad-x: clamp(20px, 4vw, 56px);
  --pad-edge: max(var(--pad-x), calc((100vw - var(--content-max)) / 2));
  --site-bg: #FBF8F0;
  --dark: #3F3520;
  --dark-soft: #5C544B;
  --muted: #7a6e54;
  --beige: #a89878;
  --sage: #7C9A6A;
  --sage-light: #A8D5BA;
  --coral: #C97D60;
  --pink: #F8C8DC;
  --yellow: #FCD34D;
  --amber: #FBBF24;
  --cream: #FBF8F0;
  --cream-dark: #F0EAD6;
  --border: #E5DDC8;
  --font-body: 'Zen Maru Gothic', 'Hiragino Maru Gothic ProN', 'Hiragino Sans', 'Yu Gothic', sans-serif;
  --font-display: 'Shippori Mincho B1', 'YuMincho', 'Hiragino Mincho ProN', 'Yu Mincho', serif;
}

*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-body);background:var(--site-bg);color:var(--dark);line-height:1.7;overflow-x:hidden;font-weight:500;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}

img{max-width:100%;height:auto;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;}

/* 見出し系は M PLUS Rounded 1c（太字専用フォント） */
h1, h2, h3, h4, h5, h6,
.h-h, .sec-title, .archive-title, .related-title,
.ck-hero-kana, .ck-card-big{font-family:var(--font-display);}

/* ── Animations ── */
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:translateY(0)}}
@keyframes slideR{from{opacity:0;transform:translateX(-32px)}to{opacity:1;transform:translateX(0)}}
@keyframes bounce{0%{opacity:0;transform:translateY(40px) scale(0.94)}60%{transform:translateY(-6px) scale(1.02)}100%{opacity:1;transform:translateY(0) scale(1)}}
@keyframes spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
@keyframes float1{0%,100%{transform:translateY(0) translateX(0)}50%{transform:translateY(-16px) translateX(6px)}}
@keyframes float2{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-12px) rotate(3deg)}}
@keyframes float3{0%,100%{transform:translateY(0) rotate(20deg)}50%{transform:translateY(-14px) rotate(28deg)}}
@keyframes float4{0%,100%{transform:translateY(0) rotate(-30deg)}50%{transform:translateY(-10px) rotate(-22deg)}}
@keyframes wiggle{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@keyframes pulse{0%,100%{transform:scale(1);opacity:0.6}50%{transform:scale(1.12);opacity:0.85}}
@keyframes blink{0%,100%{opacity:1}50%{opacity:0.4}}
@keyframes marquee{from{transform:translateX(0)}to{transform:translateX(-50%)}}
@keyframes slowzoom{from{transform:scale(1)}to{transform:scale(1.08)}}
@keyframes drift{0%,100%{transform:translateX(0) translateY(0)}33%{transform:translateX(10px) translateY(-6px)}66%{transform:translateX(-6px) translateY(8px)}}
@keyframes treeWave{0%,100%{transform:rotate(-2deg) translateY(0)}50%{transform:rotate(2deg) translateY(-8px)}}

.site{position:relative;width:100%;overflow-x:hidden;}

/* ── NAV ── */
.nav{padding:24px var(--pad-edge);display:flex;align-items:center;justify-content:space-between;position:relative;z-index:5;background:var(--cream);border-bottom:1px solid rgba(229,221,200,0.5);}
.logo{display:flex;align-items:center;gap:14px;}
.logo-icon{width:48px;height:48px;color:var(--sage);animation:wiggle 6s ease-in-out infinite;}
.logo-text{font-family:'M PLUS Rounded 1c',sans-serif;font-size:28px;font-weight:900;color:var(--dark);letter-spacing:0.01em;line-height:1;}
.logo-text em{font-family:'M PLUS Rounded 1c',sans-serif;font-style:normal;color:var(--coral);font-weight:900;background:linear-gradient(transparent 60%,rgba(252,211,77,0.6) 60%);padding:0 2px;}
.logo-tag{font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--beige);margin-top:3px;}
.nav-r{display:flex;gap:6px;align-items:center;}
.nav-r a{font-size:13px;color:var(--dark);font-weight:600;letter-spacing:0.02em;padding:9px 16px;border-radius:24px;transition:background .15s;}
.nav-r a:hover{background:var(--cream-dark);}
.nav-r .search,.nav-r .search-toggle,.search-form,form.search-form,form[role="search"]{display:none !important;}
.nav-r .cta{background:var(--sage);color:var(--cream);padding:12px 24px;border-radius:30px;font-size:13px;font-weight:700;letter-spacing:0.04em;border:none;cursor:pointer;transition:background .2s;}
.nav-r .cta:hover{background:var(--coral);}

/* ── HERO ── */
.hero{position:relative;height:clamp(560px, 75vh, 820px);overflow:hidden;background:var(--cream-dark);}
.hero-bg{position:absolute;inset:0;}
.hero-bg img{width:100%;height:100%;object-fit:cover;display:block;animation:slowzoom 18s ease-in-out infinite alternate;}
.hero-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(63,53,32,0.08) 0%,rgba(63,53,32,0.22) 40%,rgba(63,53,32,0.65) 100%);}
.hero-veil-2{position:absolute;inset:0;background:linear-gradient(120deg,rgba(124,154,106,0.22) 0%,transparent 50%);}
.h-leaf-l{position:absolute;top:80px;left:clamp(20px, 3vw, 60px);width:clamp(80px, 9vw, 140px);height:auto;aspect-ratio:60/80;color:var(--sage-light);opacity:0.75;animation:treeWave 7s ease-in-out infinite;z-index:2;}
.h-leaf-r{position:absolute;top:150px;right:clamp(30px, 4vw, 80px);width:clamp(90px, 10vw, 160px);height:auto;aspect-ratio:60/80;color:var(--pink);opacity:0.65;animation:float3 8s ease-in-out infinite;z-index:2;}
.h-leaf-bl{position:absolute;bottom:160px;left:clamp(150px, 18vw, 280px);width:clamp(50px, 5vw, 80px);height:auto;aspect-ratio:50/60;color:var(--amber);opacity:0.6;animation:float4 6s ease-in-out infinite;z-index:2;}
.h-sun{position:absolute;top:60px;right:38%;width:clamp(100px, 9vw, 160px);height:clamp(100px, 9vw, 160px);color:var(--amber);opacity:0.9;animation:spin 30s linear infinite;z-index:2;}
.h-circle{position:absolute;bottom:180px;right:clamp(80px, 8vw, 160px);width:clamp(180px, 18vw, 280px);height:clamp(180px, 18vw, 280px);color:var(--cream);opacity:0.32;animation:spin 60s linear infinite;z-index:2;}
.h-dot1{position:absolute;top:250px;right:42%;width:90px;height:22px;color:var(--cream);opacity:0.7;z-index:2;}
.h-spark1{position:absolute;top:120px;right:36%;width:28px;height:28px;color:var(--cream);animation:pulse 2.6s ease-in-out infinite;z-index:3;}
.h-spark2{position:absolute;bottom:260px;right:32%;width:22px;height:22px;color:var(--yellow);animation:pulse 3.2s 0.8s ease-in-out infinite;z-index:3;}
.h-tag-top{position:absolute;top:40px;left:var(--pad-edge);z-index:4;color:var(--cream);font-family:Georgia,serif;font-style:italic;font-size:14px;letter-spacing:0.18em;animation:fadeUp .6s ease both;display:flex;align-items:center;gap:14px;}
.h-tag-top::before{content:'';display:inline-block;width:60px;height:1.5px;background:var(--cream);}
.h-stamp{position:absolute;top:40px;right:var(--pad-edge);z-index:4;color:var(--cream);text-align:right;font-family:Georgia,serif;font-style:italic;animation:fadeUp .6s .1s ease both;}
.h-stamp-d{font-size:12px;letter-spacing:0.14em;opacity:0.85;}
.h-stamp-no{font-size:clamp(32px, 3.5vw, 52px);font-weight:900;line-height:1;margin-top:4px;letter-spacing:-0.02em;}
.h-content{position:absolute;left:var(--pad-edge);right:var(--pad-edge);bottom:clamp(80px, 10vh, 140px);z-index:5;}
.h-eyebrow{display:inline-flex;align-items:center;gap:12px;font-size:11px;letter-spacing:0.32em;color:var(--yellow);font-weight:700;margin-bottom:22px;animation:slideR .7s ease both;}
.h-eyebrow svg{width:18px;height:18px;}
.h-h{font-size:clamp(40px, 4.6vw, 82px);font-weight:900;color:var(--cream);line-height:1.05;letter-spacing:-0.04em;margin-bottom:28px;animation:bounce .9s .15s ease both;max-width:min(900px, 88vw);}
.h-h em{font-family:Georgia,serif;font-style:italic;color:var(--yellow);font-weight:400;display:inline-block;position:relative;white-space:nowrap;}
.h-h-arrow{position:absolute;right:-66px;bottom:10px;width:62px;height:20px;color:var(--yellow);}
.h-meta-row{display:flex;align-items:flex-end;justify-content:space-between;gap:32px;animation:fadeUp .7s .4s ease both;flex-wrap:wrap;}
.h-p{font-size:clamp(13px, 1vw, 15px);color:rgba(251,248,240,0.88);line-height:1.85;max-width:540px;font-weight:500;}
.h-cta-group{display:flex;align-items:center;gap:18px;flex-shrink:0;}
.h-cta-main{background:var(--yellow);color:var(--dark);border:none;padding:16px 32px;border-radius:32px;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:8px;transition:transform .2s;}
.h-cta-main:hover{transform:translateY(-3px);background:var(--cream);}
.h-cta-text{color:var(--cream);font-size:13px;font-weight:600;letter-spacing:0.08em;border-bottom:1.5px solid rgba(251,248,240,0.5);padding-bottom:3px;cursor:pointer;}
.h-wave-clip{position:absolute;bottom:-1px;left:0;right:0;height:80px;color:var(--cream);z-index:6;}

/* ── MARQUEE ── */
.marquee{background:var(--dark);color:var(--yellow);padding:18px 0;overflow:hidden;position:relative;}
.marquee::before,.marquee::after{content:'';position:absolute;top:0;bottom:0;width:80px;z-index:2;pointer-events:none;}
.marquee::before{left:0;background:linear-gradient(to right,var(--dark),transparent);}
.marquee::after{right:0;background:linear-gradient(to left,var(--dark),transparent);}
.marquee-inner{display:flex;gap:44px;white-space:nowrap;animation:marquee 36s linear infinite;font-family:Georgia,serif;font-style:italic;font-size:clamp(14px, 1.2vw, 18px);letter-spacing:0.06em;}
.marquee-inner span{display:inline-flex;align-items:center;gap:18px;}
.marquee-inner span::after{content:'✦';color:var(--coral);font-style:normal;}

/* ── Section title (shared) ── */
.sec-title-wrap{margin-bottom:32px;display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;position:relative;z-index:3;}
.sec-title-block{position:relative;}
.sec-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:14px;color:var(--coral);margin-bottom:6px;letter-spacing:0.08em;}
.sec-eyebrow::before{content:'— ';}
.sec-title{font-size:clamp(28px, 3.4vw, 50px);font-weight:900;color:var(--dark);letter-spacing:-0.04em;line-height:1.1;display:inline-block;position:relative;}
.sec-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.sec-title-uline{display:block;width:clamp(120px, 12vw, 200px);height:14px;color:var(--sage-light);margin-top:6px;opacity:0.75;}
.sec-more{font-size:13px;font-weight:700;color:var(--cream);background:var(--dark);padding:11px 22px;border-radius:26px;cursor:pointer;letter-spacing:0.04em;border:none;display:inline-flex;align-items:center;gap:8px;transition:background .15s;}
.sec-more:hover{background:var(--sage);}

/* ── SUBJECTS ── */
.subjects{padding:clamp(60px, 7vw, 100px) var(--pad-edge);background:var(--cream-dark);position:relative;border-bottom:1px solid var(--border);overflow:hidden;}
.subj-leaf{position:absolute;top:40px;right:clamp(20px, 4vw, 80px);width:clamp(60px, 6vw, 100px);height:auto;aspect-ratio:50/60;color:var(--sage);opacity:0.45;animation:float1 6s ease-in-out infinite;}
.subj-flower{position:absolute;bottom:30px;left:clamp(20px, 4vw, 80px);width:clamp(50px, 5vw, 80px);height:clamp(50px, 5vw, 80px);color:var(--pink);opacity:0.6;animation:spin 26s linear infinite;}
.subj-spark{position:absolute;top:100px;left:35%;width:24px;height:24px;color:var(--amber);animation:blink 2.4s ease-in-out infinite;}
.subj-bignum,.subjects::before{position:absolute;top:30px;right:18%;font-family:Georgia,serif;font-style:italic;font-size:clamp(120px, 14vw, 200px);color:rgba(63,53,32,0.04);font-weight:900;line-height:1;pointer-events:none;letter-spacing:-0.05em;z-index:1;}
.subjects::before{content:"Subjects";}
.subj-grid{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;position:relative;z-index:2;margin-top:24px;}
.subj-pill{display:inline-flex;align-items:center;gap:10px;padding:17px 34px;font-size:16px;font-weight:700;border:2px solid var(--sage);background:var(--cream);color:var(--dark);cursor:pointer;transition:all .2s;border-radius:36px;letter-spacing:0.02em;box-shadow:0 3px 0 rgba(124,154,106,0.15);}
.subj-pill:hover{background:var(--sage);color:var(--cream);transform:translateY(-3px);box-shadow:0 6px 0 rgba(124,154,106,0.35);}
.subj-pill small{font-family:Georgia,serif;font-style:italic;color:var(--beige);font-size:12px;font-weight:400;}
.subj-pill:hover small{color:rgba(251,248,240,0.7);}

/* Child subjects grouped under each parent */
.subj-children{margin-top:52px;display:flex;flex-direction:column;gap:8px;max-width:1180px;margin-left:auto;margin-right:auto;position:relative;z-index:2;}
.subj-child-group{display:grid;grid-template-columns:130px 1fr;align-items:start;gap:24px;padding:20px 6px;border-bottom:1px dashed var(--border);}
.subj-child-group:last-child{border-bottom:none;}
.subj-child-label{font-family:Georgia,serif;font-style:italic;font-size:15px;color:var(--coral);font-weight:700;letter-spacing:0.04em;padding-top:10px;}
.subj-child-label::before{content:'— ';opacity:0.6;}
.subj-child-pills{display:flex;flex-wrap:wrap;gap:10px;}
.subj-child-pill{display:inline-flex;align-items:center;gap:8px;font-size:14px;padding:11px 22px;background:var(--cream);border:1.5px solid var(--sage);border-radius:24px;color:var(--dark);transition:all .15s;font-weight:700;letter-spacing:0.02em;}
.subj-child-pill:hover{background:var(--coral);color:var(--cream);border-color:var(--coral);transform:translateY(-2px);}
.subj-child-emoji{font-size:14px;}

/* ── PORTAL ── */
.portal{padding:clamp(70px, 8vw, 120px) var(--pad-edge);background:var(--cream);position:relative;overflow:hidden;}
.portal-leaf{position:absolute;top:60px;right:clamp(30px, 4vw, 80px);width:clamp(80px, 9vw, 130px);height:auto;aspect-ratio:60/80;color:#E8D5B7;opacity:0.55;animation:float2 8s ease-in-out infinite;}
.portal-flower{position:absolute;bottom:80px;left:clamp(30px, 4vw, 80px);width:clamp(70px, 7vw, 110px);height:clamp(70px, 7vw, 110px);color:var(--pink);opacity:0.45;animation:spin 30s linear infinite;}
.portal-bignum,.portal::before{position:absolute;top:60px;left:6%;font-family:Georgia,serif;font-style:italic;font-size:clamp(180px, 22vw, 360px);color:rgba(63,53,32,0.035);font-weight:900;line-height:0.85;pointer-events:none;letter-spacing:-0.06em;z-index:1;}
.portal::before{content:"03";}
.portal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px, 2.2vw, 36px);position:relative;z-index:2;}
.pcard{cursor:pointer;transition:transform .25s;animation:fadeUp .7s ease both;opacity:0;animation-fill-mode:both;background:#fff;border-radius:32px;overflow:hidden;border:1.5px solid var(--border);position:relative;display:block;color:inherit;}
.pcard:hover{transform:translateY(-10px);}
.pcard.c1{animation-delay:.05s;}
.pcard.c2{animation-delay:.18s;margin-top:clamp(20px, 3vw, 56px);}
.pcard.c3{animation-delay:.31s;}
.pcard-no{position:absolute;top:18px;right:18px;width:54px;height:54px;background:var(--pink);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-style:italic;font-size:22px;font-weight:900;color:var(--dark);z-index:2;border:2px solid var(--dark);}
.pcard.c2 .pcard-no{background:var(--sage-light);}
.pcard.c3 .pcard-no{background:var(--yellow);}
.pcard-img{height:clamp(180px, 18vw, 260px);overflow:hidden;}
.pcard-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.pcard:hover .pcard-img img{transform:scale(1.08);}
.pcard-body{padding:24px 24px 28px;}
.pcard-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--sage);margin-bottom:8px;}
.pcard-title{font-size:clamp(22px, 1.8vw, 28px);font-weight:900;color:var(--dark);line-height:1.2;margin-bottom:10px;letter-spacing:-0.03em;}
.pcard-desc{font-size:13px;color:var(--muted);line-height:1.8;margin-bottom:18px;}
.pcard-cta{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:var(--cream);background:var(--sage);padding:10px 22px;border-radius:26px;letter-spacing:0.04em;}
.pcard.c2 .pcard-cta{background:var(--coral);}
.pcard.c3 .pcard-cta{background:var(--dark);}

/* ── FEATURED ── */
.alt-section{background:var(--cream-dark);padding:clamp(60px, 7vw, 100px) var(--pad-edge);position:relative;overflow:hidden;}
.alt-bignum,.alt-section::before{position:absolute;top:50px;right:8%;font-family:Georgia,serif;font-style:italic;font-size:clamp(150px, 18vw, 280px);color:rgba(63,53,32,0.04);font-weight:900;line-height:0.85;pointer-events:none;z-index:1;}
.alt-section::before{content:"Today";}
.alt-deco-top{position:absolute;top:40px;left:50%;transform:translateX(-50%);width:36px;height:36px;color:var(--sage);opacity:0.5;animation:pulse 2.5s ease-in-out infinite;}
.alt-item{display:grid;grid-template-columns:1.1fr 1fr;background:var(--cream);border-radius:36px;overflow:hidden;margin-bottom:32px;border:1.5px solid var(--border);transition:transform .2s;position:relative;z-index:2;}
.alt-item:last-child{margin-bottom:0;}
.alt-item:hover{transform:translateY(-6px);}
.alt-item.rev{direction:rtl;}
.alt-item.rev>*{direction:ltr;}
.alt-img{height:clamp(320px, 36vw, 520px);overflow:hidden;position:relative;}
.alt-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .6s;}
.alt-item:hover .alt-img img{transform:scale(1.05);}
.alt-tag{position:absolute;top:22px;left:22px;background:var(--pink);color:var(--dark);font-size:12px;font-weight:700;padding:7px 16px;border-radius:24px;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:6px;}
.alt-item.rev .alt-tag{left:auto;right:22px;background:var(--sage-light);}
.alt-readtime,.alt-level,.alt-level-row{display:none !important;}
.alt-body{padding:clamp(32px, 4vw, 64px);display:flex;flex-direction:column;justify-content:center;}
.alt-no{display:none !important;}
/* Big italic editorial number floating on the image */
.alt-number{position:absolute;bottom:14px;right:24px;font-family:Georgia,serif;font-style:italic;font-size:clamp(80px, 10vw, 160px);color:var(--cream);opacity:0.92;line-height:0.85;letter-spacing:-0.06em;font-weight:900;text-shadow:0 8px 40px rgba(0,0,0,0.45),0 2px 6px rgba(0,0,0,0.25);pointer-events:none;z-index:3;animation:float1 7s ease-in-out infinite;}
.alt-item.rev .alt-number{right:auto;left:24px;}
/* Pulsing "live" indicator above title */
.alt-pulse{display:inline-flex;align-items:center;gap:12px;margin-bottom:18px;padding:7px 16px 7px 12px;background:transparent;border:1.5px solid var(--coral);border-radius:24px;font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--coral);letter-spacing:0.08em;font-weight:700;width:fit-content;}
.alt-pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--coral);position:relative;flex-shrink:0;}
.alt-pulse-dot::before{content:'';position:absolute;inset:-5px;border-radius:50%;border:1.5px solid var(--coral);opacity:0.55;animation:pulse 1.8s ease-in-out infinite;}
.alt-pulse-dot::after{content:'';position:absolute;inset:-9px;border-radius:50%;border:1.5px solid var(--coral);opacity:0.25;animation:pulse 1.8s ease-in-out 0.4s infinite;}
.alt-pulse-label{line-height:1;}
.alt-eyebrow{font-size:11px;letter-spacing:0.18em;font-weight:700;color:var(--beige);margin-bottom:14px;}
.alt-title{font-size:clamp(24px, 2.4vw, 40px);font-weight:900;color:var(--dark);line-height:1.2;margin-bottom:16px;letter-spacing:-0.03em;}
.alt-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.alt-desc{font-size:clamp(13px, 1vw, 15px);color:var(--muted);line-height:1.95;margin-bottom:24px;}
.alt-types{display:flex;gap:10px;margin-bottom:24px;flex-wrap:wrap;}
.alt-type{font-size:11px;padding:6px 14px;font-weight:700;border-radius:24px;background:var(--cream-dark);color:var(--dark-soft);letter-spacing:0.04em;display:inline-flex;align-items:center;gap:5px;}
.alt-cta{display:inline-flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--cream);background:var(--dark);padding:14px 28px;border-radius:30px;cursor:pointer;align-self:flex-start;letter-spacing:0.04em;transition:background .2s;border:none;}
.alt-cta:hover{background:var(--sage);}

/* ── AGE ── */
.age-section{padding:clamp(80px, 9vw, 140px) var(--pad-edge);background:var(--dark);position:relative;overflow:hidden;}
.age-bg-leaf{position:absolute;top:-40px;left:clamp(-40px, -2vw, 0px);width:clamp(180px, 18vw, 280px);height:auto;aspect-ratio:60/80;color:var(--sage);opacity:0.18;animation:float2 12s ease-in-out infinite;transform:rotate(-25deg);}
.age-bg-flower{position:absolute;bottom:-50px;right:clamp(-30px, -1vw, 10px);width:clamp(160px, 16vw, 240px);height:clamp(160px, 16vw, 240px);color:var(--yellow);opacity:0.15;animation:spin 80s linear infinite;}
.age-bg-spark1{position:absolute;top:120px;right:clamp(60px, 8vw, 140px);width:clamp(30px, 3vw, 44px);height:clamp(30px, 3vw, 44px);color:var(--pink);opacity:0.7;animation:pulse 3s ease-in-out infinite;z-index:2;}
.age-bg-spark2{position:absolute;bottom:200px;left:clamp(40px, 6vw, 100px);width:clamp(22px, 2vw, 32px);height:clamp(22px, 2vw, 32px);color:var(--yellow);animation:blink 2.4s ease-in-out infinite;z-index:2;}
.age-bignum,.age-section::before{position:absolute;bottom:40px;right:8%;font-family:Georgia,serif;font-style:italic;font-size:clamp(140px, 16vw, 260px);color:rgba(251,248,240,0.05);font-weight:900;line-height:0.85;pointer-events:none;z-index:1;}
.age-section::before{content:"Age";}
.age-title-wrap{margin-bottom:40px;display:flex;align-items:flex-end;justify-content:space-between;position:relative;z-index:2;gap:32px;flex-wrap:wrap;}
.age-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:14px;color:var(--yellow);margin-bottom:6px;letter-spacing:0.08em;}
.age-eyebrow::before{content:'— ';}
.age-title{font-size:clamp(34px, 4.6vw, 68px);font-weight:900;color:var(--cream);letter-spacing:-0.04em;line-height:1.05;}
.age-title em{font-family:Georgia,serif;font-style:italic;color:var(--yellow);font-weight:400;}
.age-title-uline{display:block;width:clamp(140px, 14vw, 220px);height:14px;color:var(--coral);margin-top:8px;opacity:0.85;}
.age-side-text{font-family:Georgia,serif;font-style:italic;font-size:14px;color:rgba(251,248,240,0.65);text-align:right;max-width:280px;line-height:1.85;}
.age-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px, 1.6vw, 28px);position:relative;z-index:2;}
.agec{position:relative;height:clamp(420px, 42vw, 600px);border-radius:32px;overflow:hidden;cursor:pointer;transition:transform .35s;animation:fadeUp .8s ease both;opacity:0;animation-fill-mode:both;display:block;}
.agec:hover{transform:translateY(-12px);}
.agec.a1{animation-delay:.05s;}
.agec.a2{animation-delay:.18s;margin-top:clamp(20px, 3vw, 48px);}
.agec.a3{animation-delay:.31s;}
.agec.a4{animation-delay:.44s;margin-top:clamp(20px, 3vw, 48px);}
.agec-img{position:absolute;inset:0;}
.agec-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .8s;}
.agec:hover .agec-img img{transform:scale(1.1);}
.agec-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(63,53,32,0.15) 0%,rgba(63,53,32,0.28) 45%,rgba(63,53,32,0.88) 100%);transition:background .3s;}
.agec:hover .agec-veil{background:linear-gradient(180deg,rgba(63,53,32,0.22) 0%,rgba(63,53,32,0.38) 30%,rgba(63,53,32,0.92) 100%);}
.agec-top{position:absolute;top:22px;left:22px;right:22px;z-index:3;display:flex;justify-content:space-between;align-items:flex-start;}
.agec-no{font-family:Georgia,serif;font-style:italic;color:var(--cream);font-size:18px;letter-spacing:0.06em;opacity:0.9;}
.agec-no::before{content:'— ';}
.agec-icon{width:54px;height:54px;background:rgba(251,248,240,0.96);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;transition:transform .3s;}
.agec:hover .agec-icon{transform:rotate(-12deg) scale(1.1);}
.agec-deco{position:absolute;z-index:3;}
.agec.a1 .agec-deco{top:36%;right:22px;width:42px;height:42px;color:var(--yellow);animation:spin 18s linear infinite;}
.agec.a2 .agec-deco{top:30%;left:22px;width:36px;height:36px;color:var(--pink);animation:pulse 3s ease-in-out infinite;}
.agec.a3 .agec-deco{top:36%;right:22px;width:46px;height:58px;color:var(--sage-light);animation:float2 7s ease-in-out infinite;}
.agec.a4 .agec-deco{top:30%;left:22px;width:42px;height:42px;color:var(--yellow);animation:drift 8s ease-in-out infinite;}
.agec-content{position:absolute;bottom:0;left:0;right:0;padding:26px 26px 28px;z-index:3;color:var(--cream);}
.agec-name{font-size:clamp(28px, 2.6vw, 42px);font-weight:900;letter-spacing:-0.04em;line-height:1;margin-bottom:8px;}
.agec-range{font-family:Georgia,serif;font-style:italic;font-size:13px;color:rgba(251,248,240,0.72);margin-bottom:12px;letter-spacing:0.04em;}
.agec-desc{font-size:12px;color:rgba(251,248,240,0.88);line-height:1.75;max-height:0;overflow:hidden;opacity:0;transition:max-height .35s ease,opacity .25s ease,margin-bottom .35s ease;margin-bottom:0;}
.agec:hover .agec-desc{max-height:90px;opacity:1;margin-bottom:16px;}
.agec-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.agec-count{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;color:rgba(251,248,240,0.88);letter-spacing:0.06em;}
.agec-count::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--yellow);}
.agec-arrow{width:36px;height:36px;background:rgba(251,248,240,0.15);border:1px solid rgba(251,248,240,0.35);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--cream);transition:all .25s;}
.agec:hover .agec-arrow{background:var(--yellow);color:var(--dark);border-color:var(--yellow);transform:translateX(4px);}
.agec-arrow svg{width:16px;height:12px;}

/* ── FRESH (scrap) ── */
.scrap{padding:clamp(70px, 8vw, 120px) var(--pad-edge);background:var(--cream-dark);position:relative;border-top:1px solid var(--border);overflow:hidden;}
.scrap-d1{position:absolute;top:40px;right:clamp(20px, 3vw, 60px);width:clamp(70px, 7vw, 110px);height:auto;aspect-ratio:50/60;color:var(--sage);opacity:0.5;animation:float1 6s ease-in-out infinite;transform:rotate(20deg);}
.scrap-d2{position:absolute;bottom:60px;left:clamp(20px, 3vw, 60px);width:clamp(60px, 6vw, 90px);height:clamp(60px, 6vw, 90px);color:var(--pink);opacity:0.55;animation:spin 24s linear infinite;}
.scrap-d3{position:absolute;top:240px;left:48%;width:30px;height:30px;color:var(--amber);animation:blink 2.6s ease-in-out infinite;}
.scrap-bignum,.scrap::before{position:absolute;bottom:80px;right:6%;font-family:Georgia,serif;font-style:italic;font-size:clamp(120px, 14vw, 220px);color:rgba(63,53,32,0.04);font-weight:900;line-height:0.85;pointer-events:none;z-index:1;}
.scrap::before{content:"New";}
.scrap-cards{display:grid;grid-template-columns:1.5fr 1fr 1fr;grid-template-rows:auto auto;gap:clamp(18px, 2vw, 28px);position:relative;z-index:2;}
.scard{cursor:pointer;transition:transform .25s;animation:fadeUp .6s ease both;opacity:0;animation-fill-mode:both;background:var(--cream);border-radius:28px;overflow:hidden;border:1.5px solid var(--border);position:relative;display:block;color:inherit;}
.scard.c1{grid-row:1/3;animation-delay:.05s;display:flex;flex-direction:column;}
.scard.c1 .scard-img{flex:1;min-height:0;}
.scard.c1 .scard-img img{width:100%;height:100%;object-fit:cover;display:block;}
.scard.c1 .scard-body{padding:24px 28px 28px;}
.scard.c1 .scard-desc{font-size:13px;color:var(--muted);line-height:1.85;margin:8px 0 14px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.scard.c1 .scard-cta{font-size:12px;font-weight:700;color:var(--coral);letter-spacing:0.04em;}
.scard.c2{animation-delay:.15s;transform:rotate(0.8deg);}
.scard.c3{animation-delay:.25s;transform:rotate(-0.6deg);}
.scard.c4{animation-delay:.35s;transform:rotate(0.4deg);}
.scard.c5{animation-delay:.45s;transform:rotate(-0.8deg);}
.scard:hover{transform:translateY(-8px) rotate(0);}
.scard-tape{position:absolute;top:-10px;left:50%;transform:translateX(-50%) rotate(-2deg);width:80px;height:24px;color:rgba(248,200,220,0.85);z-index:3;}
.scard-corner{position:absolute;top:0;right:0;background:var(--cream);border-bottom-left-radius:18px;padding:6px 14px;font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--coral);font-weight:700;z-index:3;}
.scard-img{overflow:hidden;}
.scard-img img{width:100%;display:block;transition:transform .5s;}
.scard:hover .scard-img img{transform:scale(1.08);}
.scard-body{padding:18px 18px 20px;}
.scard-cap{font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--sage);margin-bottom:6px;display:flex;align-items:center;gap:6px;}
.scard-title{font-size:15px;font-weight:900;color:var(--dark);line-height:1.4;letter-spacing:-0.01em;margin-bottom:10px;}
.scard.c1 .scard-title{font-size:clamp(18px, 1.6vw, 24px);}
.scard-meta{display:flex;align-items:center;justify-content:space-between;padding-top:8px;border-top:1px dashed var(--border);}

/* ── SERIES ── */
.series-section{padding:clamp(70px, 8vw, 120px) var(--pad-edge);background:var(--cream);border-top:1px solid var(--border);position:relative;overflow:hidden;}
.series-deco{position:absolute;top:40px;right:clamp(20px, 3vw, 70px);width:clamp(60px, 6vw, 90px);height:auto;aspect-ratio:50/60;color:var(--coral);opacity:0.45;animation:float3 7s ease-in-out infinite;}
.series-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:clamp(20px, 2.2vw, 36px);}
.scard-big{background:#fff;border-radius:36px;overflow:hidden;border:1.5px solid var(--border);cursor:pointer;transition:transform .25s;display:grid;grid-template-columns:clamp(180px, 18vw, 240px) 1fr;color:inherit;}
.scard-big:hover{transform:translateY(-6px);}
.scard-big-cover{position:relative;overflow:hidden;background:var(--dark);}
.scard-big-cover img{width:100%;height:100%;object-fit:cover;display:block;opacity:0.85;}
.scard-big-cover-label{position:absolute;top:16px;left:16px;color:var(--yellow);font-family:Georgia,serif;font-style:italic;font-size:12px;letter-spacing:0.1em;}
.scard-big-cover-num{position:absolute;bottom:16px;left:16px;color:var(--cream);font-family:Georgia,serif;font-style:italic;font-size:clamp(40px, 4vw, 58px);font-weight:900;line-height:0.9;letter-spacing:-0.04em;}
.scard-big-body{padding:24px 28px;display:flex;flex-direction:column;justify-content:center;}
.scard-big-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--coral);margin-bottom:6px;}
.scard-big-title{font-size:clamp(18px, 1.6vw, 26px);font-weight:900;color:var(--dark);line-height:1.25;margin-bottom:10px;letter-spacing:-0.02em;}
.scard-big-desc{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:14px;}
.scard-big-meta{display:flex;align-items:center;justify-content:space-between;}
.scard-big-count{font-size:12px;color:var(--sage);font-weight:700;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:6px;}
.scard-big-cta{font-size:12px;font-weight:700;color:var(--cream);background:var(--dark);padding:8px 16px;border-radius:22px;letter-spacing:0.04em;}

/* ── EDITOR + RANK ── */
.feat-section{padding:0;background:var(--cream-dark);display:grid;grid-template-columns:1fr clamp(280px, 25vw, 380px);border-top:1px solid var(--border);}
.feat-l{padding:clamp(60px, 6vw, 80px) var(--pad-edge);border-right:1.5px dashed var(--border);position:relative;background:var(--cream);}
.feat-deco{position:absolute;top:40px;right:clamp(20px, 3vw, 50px);width:48px;height:auto;aspect-ratio:50/60;color:var(--sage-light);opacity:0.45;animation:float2 7s ease-in-out infinite;}
.feat-img-wrap{position:relative;margin-bottom:22px;}
.feat-img{height:clamp(220px, 22vw, 320px);overflow:hidden;border-radius:28px;border:1.5px solid var(--border);}
.feat-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s;}
.feat-img:hover img{transform:scale(1.05);}
.feat-img-badge{position:absolute;top:18px;left:18px;background:var(--yellow);color:var(--dark);font-family:Georgia,serif;font-style:italic;font-size:13px;padding:7px 16px;border-radius:24px;letter-spacing:0.04em;border:1.5px solid var(--dark);}
.feat-img-badge::before{content:'✦ ';color:var(--coral);font-style:normal;}
.feat-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:14px;color:var(--coral);margin-bottom:6px;}
.feat-tag{display:inline-block;background:var(--sage-light);color:var(--dark);font-size:12px;font-weight:700;padding:6px 16px;border-radius:24px;margin-bottom:14px;letter-spacing:0.04em;}
.feat-title{font-size:clamp(24px, 2.4vw, 38px);font-weight:900;color:var(--dark);line-height:1.2;margin-bottom:14px;letter-spacing:-0.03em;}
.feat-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.feat-desc{font-size:14px;color:var(--muted);line-height:1.95;margin-bottom:22px;}
.feat-stats-row{display:flex;gap:18px;padding:14px 0;margin-bottom:22px;border-top:1.5px dashed var(--border);border-bottom:1.5px dashed var(--border);}
.feat-stat{flex:1;text-align:center;}
.feat-stat-n{font-family:Georgia,serif;font-style:italic;font-size:20px;font-weight:900;color:var(--dark);line-height:1;}
.feat-stat-l{font-size:11px;color:var(--beige);letter-spacing:0.1em;margin-top:4px;font-weight:600;}
.feat-cta{display:inline-flex;align-items:center;gap:10px;background:var(--dark);color:var(--cream);font-size:14px;font-weight:700;padding:14px 28px;border-radius:32px;border:none;cursor:pointer;letter-spacing:0.04em;transition:background .2s;}
.feat-cta:hover{background:var(--sage);}
.rank-section{padding:clamp(60px, 6vw, 80px) clamp(28px, 2.6vw, 44px);position:relative;background:var(--cream-dark);}
.rank-leaf{position:absolute;top:18px;right:24px;width:42px;height:auto;aspect-ratio:50/60;color:var(--sage);opacity:0.4;animation:float2 7s ease-in-out infinite;}
.rank-hd-wrap{margin-bottom:20px;}
.rank-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--coral);margin-bottom:4px;}
.rank-eyebrow::before{content:'— ';}
.rank-hd{font-size:22px;font-weight:900;color:var(--dark);letter-spacing:-0.02em;}
.rank-hd em{font-family:Georgia,serif;font-style:italic;color:var(--sage);font-weight:400;}
.rank-uline{display:block;width:110px;height:10px;color:var(--pink);margin-top:4px;opacity:0.7;}
.ri{padding:15px 0;border-bottom:1px dashed var(--border);cursor:pointer;display:flex;gap:14px;align-items:center;transition:padding .15s;color:inherit;}
.ri:hover{padding-left:6px;}
.ri:last-child{border-bottom:none;}
.ri-n-wrap{position:relative;flex-shrink:0;}
.ri-n{width:36px;height:36px;background:var(--cream);border:1.5px solid var(--border);border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-style:italic;font-size:16px;font-weight:700;color:var(--muted);}
.ri-n.hi{background:var(--pink);color:var(--dark);border-color:var(--dark);}
.ri-n.hi::after{content:'★';position:absolute;top:-8px;right:-8px;font-size:13px;color:var(--amber);}
.ri-subj{font-size:10px;letter-spacing:0.14em;font-weight:700;margin-bottom:3px;color:var(--beige);}
.ri-title{font-size:13px;font-weight:700;color:var(--dark);line-height:1.45;}

/* ── CTA ── */
.cta-section{padding:clamp(80px, 9vw, 140px) var(--pad-edge);background:var(--dark);color:var(--cream);position:relative;overflow:hidden;}
.cta-deco-1{position:absolute;top:50px;right:clamp(40px, 5vw, 100px);width:clamp(80px, 9vw, 130px);height:auto;aspect-ratio:60/80;color:var(--sage);opacity:0.25;animation:float2 8s ease-in-out infinite;}
.cta-deco-2{position:absolute;bottom:40px;left:clamp(40px, 5vw, 100px);width:clamp(70px, 7vw, 100px);height:clamp(70px, 7vw, 100px);color:var(--yellow);opacity:0.3;animation:spin 36s linear infinite;}
.cta-deco-3{position:absolute;top:140px;left:30%;width:28px;height:28px;color:var(--pink);opacity:0.5;animation:pulse 2.8s ease-in-out infinite;}
.cta-bignum,.cta-section::before{position:absolute;bottom:-30px;right:5%;font-family:Georgia,serif;font-style:italic;font-size:clamp(180px, 22vw, 360px);color:rgba(251,248,240,0.04);font-weight:900;line-height:0.85;pointer-events:none;z-index:1;}
.cta-section::before{content:"Join";}
.cta-inner{position:relative;z-index:2;max-width:640px;}
.cta-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:14px;color:var(--yellow);margin-bottom:18px;letter-spacing:0.08em;}
.cta-eyebrow::before{content:'✦ ';color:var(--coral);font-style:normal;}
.cta-h{font-size:clamp(32px, 4.4vw, 64px);font-weight:900;line-height:1.1;letter-spacing:-0.04em;margin-bottom:18px;}
.cta-h em{font-family:Georgia,serif;font-style:italic;color:var(--yellow);font-weight:400;}
.cta-p{font-size:14px;color:rgba(251,248,240,0.72);line-height:1.9;margin-bottom:28px;}
.cta-form{display:flex;gap:10px;max-width:520px;}
.cta-form input{flex:1;padding:16px 24px;border-radius:32px;border:1.5px solid rgba(251,248,240,0.3);background:rgba(251,248,240,0.1);color:var(--cream);font-size:14px;outline:none;}
.cta-form input::placeholder{color:rgba(251,248,240,0.5);}
.cta-form button{background:var(--yellow);color:var(--dark);border:none;padding:16px 32px;border-radius:32px;font-size:14px;font-weight:700;cursor:pointer;letter-spacing:0.04em;transition:background .2s;}
.cta-form button:hover{background:var(--cream);}
.cta-footnote{font-size:12px;color:rgba(251,248,240,0.5);margin-top:16px;font-family:Georgia,serif;font-style:italic;}

/* ── FOOTER ── */
.footer{padding:clamp(40px, 4vw, 56px) var(--pad-edge);background:var(--cream);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;}
.foot-l{display:flex;align-items:center;gap:12px;}
.foot-icon{width:36px;height:36px;color:var(--sage);}
.foot-logo{font-size:20px;font-weight:900;color:var(--dark);letter-spacing:-0.03em;}
.foot-logo em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.foot-copy{font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--beige);}
.foot-r{display:flex;gap:20px;}
.foot-r a{font-size:12px;color:var(--muted);font-weight:600;}

/* Breadcrumb */
.crumb{padding:16px var(--pad-edge);font-size:12px;color:var(--muted);background:var(--cream);border-bottom:1px dashed var(--border);}
.crumb a{color:var(--coral);font-weight:600;}
.crumb-sep{margin:0 8px;color:var(--beige);}

/* ───────────────────────────────────────
   PAGE 1: 教育記事 (Article long-form)
   ─────────────────────────────────────── */
.article-hero{padding:clamp(40px,5vw,72px) var(--pad-edge) clamp(32px,3vw,48px);background:var(--cream);position:relative;overflow:hidden;}
.article-hero::before{content:"Article";position:absolute;top:-20px;right:5%;font-family:Georgia,serif;font-style:italic;font-size:clamp(120px,14vw,200px);color:rgba(63,53,32,0.04);font-weight:900;line-height:1;pointer-events:none;}
.article-eyebrow{display:flex;align-items:center;gap:10px;margin-bottom:18px;flex-wrap:wrap;}
.subject-tag{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--coral);color:var(--cream);font-size:12px;font-weight:700;border-radius:20px;letter-spacing:0.04em;}
.subject-tag-sub{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:transparent;border:1.5px solid var(--border);color:var(--dark);font-size:12px;font-weight:700;border-radius:20px;letter-spacing:0.04em;}
.age-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 14px;background:var(--pink);color:var(--dark);font-size:12px;font-weight:700;border-radius:20px;letter-spacing:0.04em;}
.article-title{font-size:clamp(28px,3.8vw,56px);font-weight:900;color:var(--dark);line-height:1.18;letter-spacing:-0.03em;margin-bottom:20px;max-width:900px;}
.article-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.article-lead{font-size:clamp(15px,1.2vw,18px);color:var(--dark-soft);line-height:1.85;margin-bottom:28px;max-width:780px;font-weight:500;}
.article-reading{font-family:Georgia,serif;font-style:italic;font-size:clamp(15px, 1.6vw, 20px);color:var(--coral);margin:-12px 0 24px;letter-spacing:0.08em;font-weight:400;opacity:0.85;}
.article-sources{margin:48px 0 32px;padding:28px 32px;background:var(--cream-dark);border-radius:20px;border-left:4px solid var(--coral);}
.article-sources-title{font-size:16px;font-weight:900;color:var(--dark);margin-bottom:14px;letter-spacing:-0.01em;}
.article-sources-list{list-style:none;padding:0;margin:0;}
.article-sources-list li{font-size:13px;color:var(--muted);padding:8px 0;border-bottom:1px dashed var(--border);line-height:1.7;}
.article-sources-list li:last-child{border-bottom:none;}
.article-sources-list a{color:var(--coral);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px;word-break:break-all;}
.article-sources-list a:hover{color:var(--dark);}
.article-meta{display:flex;align-items:center;gap:24px;flex-wrap:wrap;padding-top:20px;border-top:1.5px dashed var(--border);}
.author-block{display:flex;align-items:center;gap:12px;}
.author-avatar{width:42px;height:42px;border-radius:50%;background:var(--sage-light);display:flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-style:italic;font-weight:900;color:var(--dark);font-size:18px;}
.author-name{font-size:13px;font-weight:700;color:var(--dark);}
.author-role{font-size:11px;color:var(--beige);font-family:Georgia,serif;font-style:italic;}
.meta-item{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--muted);font-weight:600;letter-spacing:0.04em;}
.meta-item svg{width:14px;height:14px;color:var(--sage);}

/* Article body layout */
.article-body{padding:clamp(48px,5vw,72px) var(--pad-edge);background:var(--cream);display:grid;grid-template-columns:280px 1fr;gap:clamp(40px,4vw,72px);position:relative;}
.article-toc{position:sticky;top:88px;align-self:start;background:var(--cream-dark);border-radius:24px;padding:26px;border:1.5px solid var(--border);}
.toc-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--coral);margin-bottom:8px;letter-spacing:0.08em;}
.toc-title{font-size:18px;font-weight:900;color:var(--dark);margin-bottom:16px;letter-spacing:-0.02em;}
.toc-list{list-style:none;}
.toc-list li{padding:11px 0;border-bottom:1px dashed var(--border);font-size:14px;display:flex;gap:10px;align-items:start;line-height:1.6;}
.toc-list li:last-child{border-bottom:none;}
.toc-num{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:700;flex-shrink:0;font-size:13px;}
.toc-list a{color:var(--dark-soft);}
.toc-list a:hover{color:var(--coral);}

.article-thumb{margin-bottom:36px;border-radius:28px;overflow:hidden;border:1.5px solid var(--border);aspect-ratio:16/9;background:linear-gradient(135deg,#D4B896 0%,#C09668 100%);position:relative;}
.article-thumb-caption{position:absolute;bottom:14px;right:18px;font-family:Georgia,serif;font-style:italic;font-size:11px;color:rgba(251,248,240,0.85);background:rgba(63,53,32,0.6);padding:4px 12px;border-radius:16px;}
.article-content{font-size:18px;color:var(--dark);line-height:2.05;letter-spacing:0.02em;}

/* 最初のリード段落 (記事冒頭) - 雑誌風の強調表示 */
.article-content > p:first-of-type{font-size:17px;font-weight:700;line-height:1.9;padding:24px 28px;background:linear-gradient(135deg,rgba(252,211,77,0.12) 0%,rgba(252,211,77,0.04) 100%);border-left:4px solid var(--coral);border-radius:0 14px 14px 0;margin-bottom:44px;color:var(--dark);position:relative;}
.article-content > p:first-of-type::before{content:'❝';position:absolute;top:8px;right:18px;font-size:48px;color:var(--coral);opacity:0.18;font-family:Georgia,serif;line-height:1;font-weight:900;}

/* H2 - 強化されたデザイン */
.article-content h2{font-size:clamp(22px,2.2vw,32px);font-weight:900;color:var(--dark);letter-spacing:-0.02em;margin:80px 0 26px;padding:0 0 14px 88px;border-bottom:2.5px solid var(--coral);position:relative;}
.article-content h2::before{content:attr(data-num);position:absolute;left:0;top:50%;transform:translateY(-58%);font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:clamp(32px,3vw,46px);font-weight:900;opacity:0.6;line-height:1;letter-spacing:-0.02em;}
.article-content h2::after{content:'✦';position:absolute;right:8px;top:50%;transform:translateY(-65%);font-size:18px;color:var(--yellow);opacity:0.75;}

/* H3 */
.article-content h3{font-size:clamp(18px,1.6vw,22px);font-weight:900;color:var(--dark);margin:44px 0 20px;padding-left:16px;border-left:4px solid var(--sage);position:relative;}
.article-content h3::after{content:'';position:absolute;left:-2px;top:0;height:100%;width:8px;background:var(--sage);opacity:0.15;border-radius:4px;}

/* 段落 */
.article-content p{margin-bottom:26px;}

/* 強調 (strong) - 深いコーラル＋黄色ハイライト */
.article-content strong{color:#A8472A;font-weight:900;background:linear-gradient(transparent 60%,rgba(252,211,77,0.5) 60%);padding:0 3px;}

/* リンク */
.article-content a{color:var(--sage);border-bottom:1.5px solid var(--sage);transition:all .2s;}
.article-content a:hover{color:var(--coral);border-bottom-color:var(--coral);}

/* 順序なしリスト - coralの✦カスタムマーカー */
.article-content ul{list-style:none;padding-left:0;margin:30px 0 34px;}
.article-content ul li{position:relative;padding:10px 0 10px 32px;margin-bottom:8px;border-bottom:1px dashed rgba(63,53,32,0.08);}
.article-content ul li:last-child{border-bottom:none;}
.article-content ul li::before{content:'✦';position:absolute;left:6px;top:10px;color:var(--coral);font-size:14px;font-weight:900;line-height:1.75;}

/* 順序付きリスト - sageの丸番号バッジ */
.article-content ol{list-style:none;counter-reset:article-counter;padding-left:0;margin:30px 0 34px;}
.article-content ol li{position:relative;padding:10px 0 10px 60px;margin-bottom:8px;counter-increment:article-counter;border-bottom:1px dashed rgba(63,53,32,0.08);}
.article-content ol li:last-child{border-bottom:none;}
.article-content ol li::before{content:counter(article-counter,decimal-leading-zero);position:absolute;left:0;top:11px;background:var(--sage);color:var(--cream);min-width:30px;height:24px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-family:Georgia,serif;font-style:italic;font-size:12px;font-weight:900;padding:0 7px;letter-spacing:0.04em;}

/* テーブル - カード型・ソフトゼブラ（行ボーダーなし） */
.article-content table{width:100%;border-collapse:collapse;margin:36px 0 48px;font-size:15px;background:var(--cream);border:1.5px solid var(--border);box-shadow:0 4px 16px rgba(63,53,32,0.05);}
.article-content table thead{background:var(--cream-dark);}
.article-content table thead th{padding:14px 20px;font-weight:900;color:var(--dark);text-align:left;font-size:14px;letter-spacing:0.04em;border-bottom:1.5px solid var(--border);}
.article-content table tbody td{padding:15px 20px;color:var(--dark);line-height:1.75;}
.article-content table tbody tr:nth-child(even) td{background:rgba(240,234,214,0.4);}
.article-content table strong{background:none;color:#A8472A;padding:0;}

/* 引用ブロック - エディトリアル・プルクオート */
.article-content blockquote{margin:56px 0 72px;padding:clamp(28px,3.5vw,40px) clamp(40px,5vw,64px) clamp(28px,3.5vw,40px) clamp(56px,7vw,80px);position:relative;font-family:var(--font-display);font-size:clamp(16px,1.6vw,19px);color:var(--dark);line-height:2;font-weight:700;font-style:italic;background:none;border:none;border-radius:0;box-shadow:none;text-align:left;}
.article-content blockquote::before{content:'\201C';position:absolute;top:-8px;left:8px;font-size:clamp(88px,10vw,120px);line-height:1;color:var(--coral);font-family:Georgia,serif;font-weight:900;opacity:0.85;font-style:normal;}
.article-content blockquote::after{content:'\201D';position:absolute;bottom:-44px;right:8px;font-size:clamp(88px,10vw,120px);line-height:1;color:var(--coral);font-family:Georgia,serif;font-weight:900;opacity:0.85;font-style:normal;}
.article-content blockquote p:last-child{margin-bottom:0;}
.article-content blockquote strong{background:none;font-style:normal;color:#A8472A;}

/* H2同士の間隔をやや広めに（リズム強化） */
.article-content h2 + p{margin-top:0;}
.article-content h2:not(:first-child){margin-top:96px;}

.pullquote{background:var(--cream-dark);border-radius:24px;padding:28px 32px;margin:32px 0;position:relative;border-left:5px solid var(--coral);}
.pullquote::before{content:'\201C';position:absolute;top:8px;right:24px;font-family:Georgia,serif;font-style:italic;font-size:80px;color:rgba(201,125,96,0.3);line-height:1;}
.pullquote p{font-size:18px;font-weight:600;color:var(--dark);font-style:italic;line-height:1.7;margin-bottom:0;}

.callout{background:#FFF9E6;border-radius:20px;padding:22px 26px;margin:28px 0;border:1.5px dashed var(--amber);position:relative;}
.callout-label{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:900;color:var(--dark);letter-spacing:0.1em;margin-bottom:10px;background:var(--yellow);padding:4px 12px;border-radius:14px;}
.callout p{font-size:14px;color:var(--dark-soft);line-height:1.85;margin-bottom:0;}

.fact-table{margin:28px 0;border-radius:20px;overflow:hidden;border:1.5px solid var(--border);}
.fact-table table{width:100%;border-collapse:collapse;font-size:14px;}
.fact-table th{background:var(--dark);color:var(--cream);padding:12px 16px;text-align:left;font-weight:700;letter-spacing:0.04em;font-size:12px;}
.fact-table td{padding:12px 16px;border-top:1px solid var(--border);background:var(--cream);}
.fact-table tr:nth-child(even) td{background:var(--cream-dark);}

.inline-image{margin:28px 0;border-radius:24px;overflow:hidden;border:1.5px solid var(--border);}
.inline-image-caption{font-size:12px;color:var(--beige);font-family:Georgia,serif;font-style:italic;text-align:center;margin-top:8px;}

/* In-article quiz CTA card */
.midquiz{margin:48px 0;background:linear-gradient(135deg,#3F3520 0%,#5C544B 100%);color:var(--cream);border-radius:28px;padding:32px;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;position:relative;overflow:hidden;}
.midquiz::before{content:"?";position:absolute;top:-30px;right:-10px;font-family:Georgia,serif;font-style:italic;font-size:200px;color:rgba(251,248,240,0.06);font-weight:900;line-height:1;}
.midquiz-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--yellow);margin-bottom:6px;letter-spacing:0.08em;}
.midquiz-title{font-size:22px;font-weight:900;line-height:1.3;margin-bottom:6px;letter-spacing:-0.02em;}
.midquiz-sub{font-size:13px;color:rgba(251,248,240,0.7);}
.midquiz-cta{background:var(--yellow);color:var(--dark);border:none;padding:14px 26px;border-radius:30px;font-size:13px;font-weight:900;letter-spacing:0.04em;flex-shrink:0;display:inline-flex;align-items:center;gap:8px;position:relative;z-index:2;}

/* End-of-article practice mini quiz */
.practice-section{margin-top:48px;padding:36px;background:var(--cream-dark);border-radius:32px;border:1.5px solid var(--border);}
.practice-eyebrow{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:14px;margin-bottom:6px;letter-spacing:0.08em;}
.practice-eyebrow::before{content:'— ';}
.practice-title{font-size:24px;font-weight:900;color:var(--dark);letter-spacing:-0.02em;margin-bottom:8px;}
.practice-sub{font-size:13px;color:var(--muted);margin-bottom:24px;}
.mini-q{background:var(--cream);border:1.5px solid var(--border);border-radius:24px;padding:22px;margin-bottom:14px;}
.mini-q-head{display:flex;gap:14px;align-items:start;margin-bottom:16px;}
.mini-q-no{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:22px;font-weight:900;line-height:1;flex-shrink:0;}
.mini-q-text{font-size:15px;font-weight:700;color:var(--dark);line-height:1.55;}
.mini-q-choices{display:grid;gap:8px;margin-left:34px;}
.mini-choice{padding:12px 16px;background:var(--cream-dark);border:1.5px solid var(--border);border-radius:14px;font-size:14px;color:var(--dark);font-weight:600;display:flex;align-items:center;gap:10px;text-align:left;width:100%;transition:all .15s;}
.mini-choice:hover{border-color:var(--sage);background:#E8F0DC;}
.mini-choice-letter{width:24px;height:24px;border-radius:50%;background:var(--cream);font-family:Georgia,serif;font-style:italic;font-weight:700;color:var(--coral);display:flex;align-items:center;justify-content:center;font-size:12px;flex-shrink:0;}

/* Tags / Share */
.article-tags{margin-top:36px;padding-top:24px;border-top:1.5px dashed var(--border);display:flex;align-items:center;flex-wrap:wrap;gap:10px;}
.article-tags-label{font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--beige);margin-right:6px;}
.tag-chip{padding:7px 14px;background:var(--cream-dark);border-radius:18px;font-size:12px;font-weight:600;color:var(--dark-soft);}
.tag-chip:hover{background:var(--sage);color:var(--cream);}
.share-row{margin-top:28px;display:flex;align-items:center;gap:12px;}
.share-label{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--coral);}
.share-btn{width:38px;height:38px;border-radius:50%;background:var(--cream-dark);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;color:var(--dark);}
.share-btn:hover{background:var(--dark);color:var(--cream);border-color:var(--dark);}

/* Related */
.related-section{padding:clamp(60px,7vw,100px) var(--pad-edge);background:var(--cream-dark);position:relative;overflow:hidden;border-top:1px solid var(--border);}
.related-section::before{content:"More";position:absolute;top:30px;right:6%;font-family:Georgia,serif;font-style:italic;font-size:clamp(100px,12vw,180px);color:rgba(63,53,32,0.04);font-weight:900;line-height:1;}
.related-hd{margin-bottom:32px;position:relative;z-index:2;}
.related-eyebrow{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:14px;letter-spacing:0.08em;margin-bottom:4px;}
.related-eyebrow::before{content:'— ';}
.related-title{font-size:clamp(24px,2.8vw,38px);font-weight:900;color:var(--dark);letter-spacing:-0.03em;}
.related-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;position:relative;z-index:2;}
.rel-card{background:var(--cream);border-radius:24px;overflow:hidden;border:1.5px solid var(--border);cursor:pointer;transition:transform .25s;}
.rel-card:hover{transform:translateY(-6px);}
.rel-card-img{aspect-ratio:16/10;background:linear-gradient(135deg,#A8D5BA 0%,#7C9A6A 100%);}
.rel-card-body{padding:20px 22px 22px;}
.rel-card-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:11px;color:var(--coral);margin-bottom:4px;}
.rel-card-title{font-size:15px;font-weight:900;color:var(--dark);line-height:1.45;margin-bottom:10px;}
.rel-card-meta{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--beige);font-weight:600;letter-spacing:0.04em;}

/* ───────────────────────────────────────
   PAGE 2: 個別解説ページ (Item detail)
   ─────────────────────────────────────── */
.detail-hero{padding:clamp(60px,7vw,100px) var(--pad-edge);background:var(--cream-dark);position:relative;overflow:hidden;text-align:center;}
.detail-hero::before{content:"Idiom";position:absolute;top:20px;right:5%;font-family:Georgia,serif;font-style:italic;font-size:clamp(120px,14vw,200px);color:rgba(63,53,32,0.04);font-weight:900;line-height:1;}
.detail-hero::after{content:"";position:absolute;bottom:0;left:0;right:0;height:60px;background:linear-gradient(to top,var(--cream),transparent);}
.detail-eyebrow{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:14px;letter-spacing:0.1em;margin-bottom:16px;position:relative;z-index:2;}
.detail-eyebrow::before,.detail-eyebrow::after{content:'';display:inline-block;width:36px;height:1.5px;background:var(--coral);margin:0 12px;vertical-align:middle;}
.detail-display{font-size:clamp(60px,11vw,160px);font-weight:900;color:var(--dark);line-height:1.1;letter-spacing:0.04em;margin-bottom:18px;position:relative;z-index:2;display:inline-block;}
.detail-display-deco-l,.detail-display-deco-r{position:absolute;top:50%;width:42px;height:42px;color:var(--amber);transform:translateY(-50%);}
.detail-display-deco-l{left:-60px;}
.detail-display-deco-r{right:-60px;}
.detail-reading{font-size:clamp(18px,2vw,26px);color:var(--coral);font-family:Georgia,serif;font-style:italic;margin-bottom:24px;position:relative;z-index:2;letter-spacing:0.04em;}
.detail-meta-row{display:inline-flex;gap:10px;flex-wrap:wrap;justify-content:center;margin-bottom:14px;position:relative;z-index:2;}
.detail-meta-tag{padding:8px 18px;border-radius:22px;background:var(--cream);border:1.5px solid var(--sage);color:var(--dark);font-size:12px;font-weight:700;letter-spacing:0.04em;}
.detail-meta-tag.lvl{background:var(--yellow);border-color:var(--yellow);}

.detail-body{padding:clamp(50px,5vw,80px) var(--pad-edge);background:var(--cream);}
.detail-card{max-width:840px;margin:0 auto 36px;background:#fff;border-radius:32px;border:1.5px solid var(--border);padding:36px;position:relative;}
.detail-card-label{position:absolute;top:-14px;left:32px;background:var(--coral);color:var(--cream);font-family:Georgia,serif;font-style:italic;font-size:13px;padding:6px 18px;border-radius:18px;letter-spacing:0.04em;}
.detail-card h3{font-size:20px;font-weight:900;color:var(--dark);margin-bottom:14px;letter-spacing:-0.02em;}
.detail-card p{font-size:15px;color:var(--dark-soft);line-height:1.95;}
.detail-card strong{color:var(--coral);font-weight:900;}

.example-list{display:grid;gap:14px;}
.example-item{background:var(--cream-dark);border-radius:18px;padding:18px 22px;border-left:4px solid var(--sage);}
.example-num{font-family:Georgia,serif;font-style:italic;color:var(--sage);font-weight:900;font-size:13px;margin-bottom:6px;letter-spacing:0.06em;}
.example-text{font-size:15px;color:var(--dark);line-height:1.75;font-weight:500;}
.example-text em{font-style:normal;color:var(--coral);font-weight:900;background:rgba(252,211,77,0.4);padding:2px 4px;border-radius:4px;}

/* Detail page CTA to quiz */
.detail-quiz-cta{max-width:840px;margin:48px auto 0;background:linear-gradient(135deg,var(--yellow) 0%,var(--amber) 100%);border-radius:32px;padding:32px;display:flex;align-items:center;justify-content:space-between;gap:24px;flex-wrap:wrap;border:2px solid var(--dark);}
.detail-quiz-cta-l h3{font-size:22px;font-weight:900;color:var(--dark);letter-spacing:-0.02em;margin-bottom:6px;}
.detail-quiz-cta-l p{font-size:13px;color:var(--dark-soft);font-weight:600;}
.detail-quiz-cta-btn{background:var(--dark);color:var(--yellow);border:none;padding:14px 28px;border-radius:30px;font-size:14px;font-weight:900;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:8px;}

/* Related items grid for detail page */
.related-items{max-width:840px;margin:48px auto 0;padding-top:32px;border-top:1.5px dashed var(--border);}
.related-items-title{font-size:18px;font-weight:900;color:var(--dark);margin-bottom:18px;letter-spacing:-0.02em;}
.related-items-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.related-items-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;}
.related-item{background:var(--cream-dark);border-radius:18px;padding:18px 14px;text-align:center;border:1.5px solid var(--border);transition:all .2s;cursor:pointer;}
.related-item:hover{background:var(--dark);color:var(--cream);}
.related-item-text{font-size:18px;font-weight:900;color:var(--dark);letter-spacing:0.04em;margin-bottom:4px;}
.related-item:hover .related-item-text{color:var(--yellow);}
.related-item-reading{font-family:Georgia,serif;font-style:italic;font-size:11px;color:var(--beige);}
.related-item:hover .related-item-reading{color:rgba(251,248,240,0.7);}

/* ───────────────────────────────────────
   PAGE 3: クイズページ
   ─────────────────────────────────────── */
.quiz-hero{padding:clamp(50px,6vw,90px) var(--pad-edge);background:var(--dark);color:var(--cream);position:relative;overflow:hidden;}
.quiz-hero::before{content:"Quiz";position:absolute;bottom:-30px;right:5%;font-family:Georgia,serif;font-style:italic;font-size:clamp(160px,18vw,280px);color:rgba(251,248,240,0.05);font-weight:900;line-height:1;}
.quiz-hero-deco-l{position:absolute;top:30px;left:clamp(20px,4vw,60px);width:80px;height:80px;color:var(--yellow);opacity:0.3;}
.quiz-hero-deco-r{position:absolute;bottom:40px;right:clamp(140px,12vw,200px);width:60px;height:60px;color:var(--pink);opacity:0.4;}
.quiz-eyebrow{font-family:Georgia,serif;font-style:italic;color:var(--yellow);font-size:14px;letter-spacing:0.1em;margin-bottom:14px;position:relative;z-index:2;}
.quiz-eyebrow::before{content:'✦  ';color:var(--coral);font-style:normal;}
.quiz-title{font-size:clamp(32px,4.5vw,68px);font-weight:900;letter-spacing:-0.04em;line-height:1.05;margin-bottom:18px;position:relative;z-index:2;max-width:800px;}
.quiz-title em{font-family:Georgia,serif;font-style:italic;color:var(--yellow);font-weight:400;}
.quiz-desc{font-size:15px;color:rgba(251,248,240,0.75);line-height:1.85;margin-bottom:32px;max-width:680px;position:relative;z-index:2;}
.quiz-stats{display:flex;gap:32px;flex-wrap:wrap;padding-top:24px;border-top:1.5px dashed rgba(251,248,240,0.2);position:relative;z-index:2;}
.quiz-stat{display:flex;align-items:center;gap:10px;}
.quiz-stat-icon{width:40px;height:40px;background:rgba(251,248,240,0.1);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--yellow);}
.quiz-stat-n{font-family:Georgia,serif;font-style:italic;font-size:22px;font-weight:900;color:var(--cream);line-height:1;}
.quiz-stat-l{font-size:11px;color:rgba(251,248,240,0.6);letter-spacing:0.1em;font-weight:600;margin-top:2px;}

.quiz-start-zone{padding:clamp(48px,5vw,80px) var(--pad-edge);background:var(--cream);text-align:center;border-bottom:1px solid var(--border);}
.quiz-start-btn{background:var(--coral);color:var(--cream);border:none;padding:20px 48px;border-radius:36px;font-size:16px;font-weight:900;letter-spacing:0.06em;display:inline-flex;align-items:center;gap:10px;box-shadow:0 8px 24px rgba(201,125,96,0.4);transition:transform .2s;}
.quiz-start-btn:hover{transform:translateY(-3px);background:var(--dark);}
.quiz-start-note{margin-top:14px;font-size:12px;color:var(--beige);font-family:Georgia,serif;font-style:italic;}

/* Quiz question flow */
.quiz-flow{padding:clamp(40px,4vw,72px) var(--pad-edge);background:var(--cream);max-width:none;}
.quiz-flow-inner{max-width:780px;margin:0 auto;}
.quiz-progress-row{display:flex;align-items:center;gap:16px;margin-bottom:32px;}
.quiz-progress-label{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--beige);white-space:nowrap;}
.quiz-progress-label em{color:var(--coral);font-weight:900;font-size:18px;font-style:italic;}
.quiz-progress-bar{flex:1;height:8px;background:var(--cream-dark);border-radius:4px;overflow:hidden;}
.quiz-progress-fill{height:100%;background:var(--sage);transition:width .4s;border-radius:4px;}
.quiz-q-card{background:#fff;border:1.5px solid var(--border);border-radius:32px;padding:36px;margin-bottom:20px;position:relative;}
.quiz-q-no{display:inline-flex;align-items:center;gap:8px;padding:6px 14px;background:var(--coral);color:var(--cream);font-family:Georgia,serif;font-style:italic;font-size:13px;border-radius:18px;margin-bottom:18px;letter-spacing:0.04em;}
.quiz-q-text{font-size:clamp(20px,2vw,28px);font-weight:900;color:var(--dark);line-height:1.5;margin-bottom:24px;letter-spacing:-0.02em;}
.quiz-q-img{margin:-10px 0 24px;aspect-ratio:16/9;border-radius:20px;background:linear-gradient(135deg,#D4B896 0%,#C09668 100%);overflow:hidden;}
.quiz-choices{display:grid;gap:12px;}
.quiz-choice{padding:18px 22px;border:2px solid var(--border);background:var(--cream);border-radius:20px;font-size:15px;font-weight:600;color:var(--dark);text-align:left;display:flex;align-items:center;gap:14px;transition:all .15s;width:100%;}
.quiz-choice:hover{border-color:var(--sage);background:#E8F0DC;transform:translateX(4px);}
.quiz-choice.correct{border-color:var(--sage);background:#E8F0DC;}
.quiz-choice.correct .quiz-choice-letter{background:var(--sage);color:var(--cream);}
.quiz-choice.wrong{border-color:var(--coral);background:#F8E4DC;}
.quiz-choice.wrong .quiz-choice-letter{background:var(--coral);color:var(--cream);}
.quiz-choice-letter{width:34px;height:34px;border-radius:50%;background:var(--cream-dark);font-family:Georgia,serif;font-style:italic;font-weight:900;color:var(--coral);display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.quiz-explanation{margin-top:20px;padding:22px 24px;background:var(--cream-dark);border-radius:20px;border-left:4px solid var(--coral);}
.quiz-explanation-label{display:inline-flex;align-items:center;gap:6px;font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:13px;margin-bottom:8px;font-weight:900;}
.quiz-explanation p{font-size:14px;color:var(--dark-soft);line-height:1.85;}
.quiz-explanation strong{color:var(--coral);font-weight:900;}
.quiz-next-row{display:flex;justify-content:space-between;align-items:center;margin-top:24px;flex-wrap:wrap;gap:14px;}
.quiz-next-btn{background:var(--dark);color:var(--cream);border:none;padding:14px 30px;border-radius:30px;font-size:14px;font-weight:900;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:8px;}
.quiz-skip-btn{background:transparent;color:var(--muted);border:none;font-size:13px;font-weight:600;text-decoration:underline;}

/* Quiz result */
.quiz-result-section{padding:clamp(48px,5vw,80px) var(--pad-edge);background:var(--cream);}
.quiz-result-inner{max-width:780px;margin:0 auto;}
.quiz-result-card{background:#fff;border:2px solid var(--coral);border-radius:36px;padding:48px 36px;text-align:center;position:relative;overflow:hidden;}
.quiz-result-card::before{content:"Result";position:absolute;top:-30px;left:50%;transform:translateX(-50%);font-family:Georgia,serif;font-style:italic;font-size:160px;color:rgba(63,53,32,0.04);font-weight:900;line-height:1;pointer-events:none;}
.quiz-result-eyebrow{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:14px;margin-bottom:14px;letter-spacing:0.1em;position:relative;}
.quiz-result-score{font-size:clamp(64px,8vw,120px);font-weight:900;color:var(--dark);line-height:1;letter-spacing:-0.04em;margin-bottom:14px;position:relative;}
.quiz-result-score em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;font-size:0.6em;}
.quiz-result-rank{display:inline-block;padding:8px 22px;background:var(--yellow);border:1.5px solid var(--dark);border-radius:24px;font-size:14px;font-weight:900;color:var(--dark);letter-spacing:0.04em;margin-bottom:18px;position:relative;}
.quiz-result-rank::before{content:'⭐ ';}
.quiz-result-msg{font-size:22px;font-weight:900;color:var(--dark);margin-bottom:14px;letter-spacing:-0.02em;position:relative;}
.quiz-result-desc{font-size:14px;color:var(--muted);line-height:1.9;margin-bottom:28px;position:relative;max-width:560px;margin-left:auto;margin-right:auto;}
.quiz-result-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:28px;padding:20px;background:var(--cream-dark);border-radius:20px;position:relative;}
.qrs-item{text-align:center;}
.qrs-n{font-family:Georgia,serif;font-style:italic;font-size:26px;font-weight:900;color:var(--dark);line-height:1;}
.qrs-n.ok{color:var(--sage);}
.qrs-n.ng{color:var(--coral);}
.qrs-l{font-size:11px;color:var(--beige);letter-spacing:0.1em;margin-top:4px;font-weight:600;}
.quiz-result-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;position:relative;}
.qrb{padding:14px 26px;border-radius:30px;font-size:13px;font-weight:900;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:8px;}
.qrb-pri{background:var(--dark);color:var(--cream);border:none;}
.qrb-sec{background:transparent;color:var(--dark);border:1.5px solid var(--dark);}
.qrb-share{background:var(--coral);color:var(--cream);border:none;}

.quiz-recommend{margin-top:48px;}
.qr-title{font-size:20px;font-weight:900;color:var(--dark);margin-bottom:18px;letter-spacing:-0.02em;text-align:center;}
.qr-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.qr-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.qr-card{background:#fff;border:1.5px solid var(--border);border-radius:24px;overflow:hidden;cursor:pointer;transition:transform .2s;}
.qr-card:hover{transform:translateY(-4px);}
.qr-card-cover{aspect-ratio:16/10;position:relative;}
.qr-card-cover.c1{background:linear-gradient(135deg,#7C9A6A 0%,#A8D5BA 100%);}
.qr-card-cover.c2{background:linear-gradient(135deg,#C97D60 0%,#F8C8DC 100%);}
.qr-card-cover.c3{background:linear-gradient(135deg,#FCD34D 0%,#FBBF24 100%);}
.qr-card-body{padding:16px 18px 18px;}
.qr-card-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:11px;color:var(--coral);margin-bottom:4px;}
.qr-card-title{font-size:14px;font-weight:900;color:var(--dark);line-height:1.4;margin-bottom:8px;}
.qr-card-meta{font-size:11px;color:var(--beige);letter-spacing:0.04em;}

/* ───────────────────────────────────────
   PAGE 4: なぞなぞ / ウミガメのスープ
   ─────────────────────────────────────── */
.riddle-hero{padding:clamp(50px,6vw,80px) var(--pad-edge);background:linear-gradient(135deg,var(--pink) 0%,var(--yellow) 100%);position:relative;overflow:hidden;text-align:center;}
.riddle-hero::before{content:"?";position:absolute;top:-50px;left:5%;font-family:Georgia,serif;font-style:italic;font-size:clamp(180px,22vw,360px);color:rgba(63,53,32,0.06);font-weight:900;line-height:1;}
.riddle-hero::after{content:"?";position:absolute;bottom:-80px;right:5%;font-family:Georgia,serif;font-style:italic;font-size:clamp(180px,22vw,360px);color:rgba(63,53,32,0.06);font-weight:900;line-height:1;transform:rotate(180deg);}
.riddle-eyebrow{font-family:Georgia,serif;font-style:italic;color:var(--dark);font-size:14px;letter-spacing:0.1em;margin-bottom:14px;position:relative;z-index:2;font-weight:700;}
.riddle-eyebrow::before,.riddle-eyebrow::after{content:'✦';color:var(--coral);font-style:normal;margin:0 8px;}
.riddle-title{font-size:clamp(32px,4.5vw,64px);font-weight:900;color:var(--dark);letter-spacing:-0.03em;line-height:1.1;margin-bottom:18px;position:relative;z-index:2;}
.riddle-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.riddle-meta-row{display:inline-flex;gap:10px;flex-wrap:wrap;justify-content:center;position:relative;z-index:2;}
.riddle-meta-tag{padding:8px 18px;border-radius:22px;background:var(--cream);border:1.5px solid var(--dark);font-size:12px;font-weight:900;color:var(--dark);letter-spacing:0.04em;}

.riddle-body{padding:clamp(48px,5vw,80px) var(--pad-edge);background:var(--cream);}
.riddle-inner{max-width:780px;margin:0 auto;}
.riddle-card{background:#fff;border:1.5px solid var(--border);border-radius:32px;padding:40px 36px;position:relative;}
.riddle-card-no{position:absolute;top:-20px;left:32px;background:var(--coral);color:var(--cream);font-family:Georgia,serif;font-style:italic;font-size:16px;padding:8px 22px;border-radius:24px;letter-spacing:0.04em;font-weight:900;}
.riddle-q-label{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:13px;margin-bottom:8px;letter-spacing:0.08em;}
.riddle-q-label::before{content:'Q. ';}
.riddle-q-text{font-size:clamp(20px,2vw,28px);font-weight:900;color:var(--dark);line-height:1.7;margin-bottom:24px;letter-spacing:-0.02em;}
.riddle-illustration{aspect-ratio:16/9;background:linear-gradient(135deg,#F8C8DC 0%,#FCD34D 100%);border-radius:20px;margin-bottom:24px;display:flex;align-items:center;justify-content:center;font-size:80px;}

/* Hint flow */
.riddle-hints{margin-top:20px;}
.riddle-hint-btn{background:var(--sage);color:var(--cream);border:none;padding:12px 26px;border-radius:28px;font-size:13px;font-weight:900;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:8px;margin-right:8px;margin-bottom:8px;}
.riddle-hint-btn:disabled{background:var(--border);color:var(--beige);cursor:not-allowed;}
.riddle-hint{background:var(--cream-dark);border-radius:18px;padding:18px 22px;margin-top:12px;border-left:4px solid var(--sage);}
.riddle-hint-label{display:inline-flex;align-items:center;gap:6px;font-family:Georgia,serif;font-style:italic;color:var(--sage);font-size:12px;margin-bottom:6px;font-weight:900;letter-spacing:0.06em;}
.riddle-hint p{font-size:14px;color:var(--dark-soft);line-height:1.85;}

/* Answer */
.riddle-answer-btn{background:var(--dark);color:var(--cream);border:none;padding:14px 30px;border-radius:30px;font-size:14px;font-weight:900;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:8px;margin-top:14px;}
.riddle-answer-card{background:var(--dark);color:var(--cream);padding:32px;border-radius:28px;margin-top:24px;position:relative;overflow:hidden;}
.riddle-answer-card::before{content:"A";position:absolute;top:-40px;right:-10px;font-family:Georgia,serif;font-style:italic;font-size:200px;color:rgba(252,211,77,0.1);font-weight:900;line-height:1;}
.riddle-answer-label{font-family:Georgia,serif;font-style:italic;color:var(--yellow);font-size:14px;margin-bottom:10px;letter-spacing:0.1em;position:relative;}
.riddle-answer-label::before{content:'A. ';}
.riddle-answer-text{font-size:clamp(22px,2.4vw,32px);font-weight:900;line-height:1.5;margin-bottom:16px;letter-spacing:-0.02em;position:relative;}
.riddle-answer-text em{font-family:Georgia,serif;font-style:italic;color:var(--yellow);font-weight:400;}
.riddle-answer-explain{font-size:14px;color:rgba(251,248,240,0.85);line-height:1.85;position:relative;}

/* Riddle next/share */
.riddle-actions{margin-top:32px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:14px;}
.riddle-share{display:flex;gap:8px;}
.riddle-next-btn{background:var(--coral);color:var(--cream);border:none;padding:14px 26px;border-radius:30px;font-size:14px;font-weight:900;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:8px;}

/* Multi-riddle list (for series) */
.riddle-series{margin-top:48px;}
.riddle-series-title{font-size:18px;font-weight:900;color:var(--dark);margin-bottom:18px;text-align:center;letter-spacing:-0.02em;}
.riddle-series-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.riddle-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
.riddle-list-item{background:var(--cream-dark);border-radius:20px;padding:18px 22px;display:flex;align-items:center;gap:14px;border:1.5px solid var(--border);transition:all .2s;cursor:pointer;}
.riddle-list-item:hover{background:var(--dark);color:var(--cream);}
.riddle-list-no{width:40px;height:40px;background:var(--coral);color:var(--cream);font-family:Georgia,serif;font-style:italic;font-weight:900;font-size:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.riddle-list-text{font-size:14px;font-weight:700;line-height:1.5;}
.riddle-list-item:hover .riddle-list-text{color:var(--cream);}
.riddle-list-status{font-family:Georgia,serif;font-style:italic;font-size:11px;color:var(--sage);}

/* ───────────────────────────────────────
   PAGE 5: 診断ページ
   ─────────────────────────────────────── */
.diag-hero{padding:clamp(60px,7vw,100px) var(--pad-edge);background:linear-gradient(135deg,#3F3520 0%,#5C544B 100%);color:var(--cream);position:relative;overflow:hidden;text-align:center;}
.diag-hero::before{content:"Test";position:absolute;top:-30px;right:5%;font-family:Georgia,serif;font-style:italic;font-size:clamp(160px,18vw,280px);color:rgba(251,248,240,0.04);font-weight:900;line-height:1;}
.diag-hero-deco{position:absolute;top:30px;left:8%;width:60px;height:60px;color:var(--yellow);opacity:0.4;}
.diag-hero-deco2{position:absolute;bottom:40px;right:12%;width:48px;height:48px;color:var(--pink);opacity:0.5;}
.diag-eyebrow{font-family:Georgia,serif;font-style:italic;color:var(--yellow);font-size:14px;letter-spacing:0.16em;margin-bottom:16px;position:relative;z-index:2;}
.diag-eyebrow::before,.diag-eyebrow::after{content:'';display:inline-block;width:30px;height:1.5px;background:var(--yellow);margin:0 12px;vertical-align:middle;}
.diag-title{font-size:clamp(36px,5vw,76px);font-weight:900;line-height:1.05;letter-spacing:-0.04em;margin-bottom:20px;position:relative;z-index:2;max-width:780px;margin-left:auto;margin-right:auto;}
.diag-title em{font-family:Georgia,serif;font-style:italic;color:var(--yellow);font-weight:400;}
.diag-desc{font-size:15px;color:rgba(251,248,240,0.78);line-height:1.95;margin-bottom:32px;max-width:600px;margin-left:auto;margin-right:auto;position:relative;z-index:2;}
.diag-stats{display:inline-flex;gap:32px;padding:18px 32px;background:rgba(251,248,240,0.08);border-radius:24px;border:1.5px solid rgba(251,248,240,0.2);position:relative;z-index:2;flex-wrap:wrap;justify-content:center;margin-bottom:32px;}
.diag-stat{text-align:center;}
.diag-stat-n{font-family:Georgia,serif;font-style:italic;font-size:22px;font-weight:900;color:var(--yellow);line-height:1;}
.diag-stat-l{font-size:11px;color:rgba(251,248,240,0.65);letter-spacing:0.08em;margin-top:4px;}
.diag-start-btn{background:var(--yellow);color:var(--dark);border:none;padding:20px 56px;border-radius:36px;font-size:16px;font-weight:900;letter-spacing:0.06em;box-shadow:0 8px 24px rgba(252,211,77,0.4);position:relative;z-index:2;display:inline-flex;align-items:center;gap:10px;}
.diag-start-btn:hover{background:var(--cream);transform:translateY(-3px);}
.diag-note{font-size:11px;color:rgba(251,248,240,0.5);font-family:Georgia,serif;font-style:italic;margin-top:14px;position:relative;z-index:2;}

/* Diagnosis question flow */
.diag-flow{padding:clamp(40px,4vw,72px) var(--pad-edge);background:var(--cream);}
.diag-flow-inner{max-width:680px;margin:0 auto;}
.diag-progress-row{display:flex;align-items:center;gap:16px;margin-bottom:32px;}
.diag-progress-label{font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--beige);white-space:nowrap;}
.diag-progress-label em{color:var(--coral);font-weight:900;font-size:18px;font-style:italic;}
.diag-progress-bar{flex:1;height:8px;background:var(--cream-dark);border-radius:4px;overflow:hidden;}
.diag-progress-fill{height:100%;background:var(--coral);border-radius:4px;}
.diag-q-card{background:#fff;border:1.5px solid var(--border);border-radius:32px;padding:40px 36px;text-align:center;}
.diag-q-no{display:inline-block;padding:6px 18px;background:var(--cream-dark);font-family:Georgia,serif;font-style:italic;font-size:13px;color:var(--coral);border-radius:18px;margin-bottom:18px;letter-spacing:0.04em;font-weight:900;}
.diag-q-text{font-size:clamp(20px,2.2vw,28px);font-weight:900;color:var(--dark);line-height:1.55;margin-bottom:32px;letter-spacing:-0.02em;}
.diag-scale{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-bottom:18px;}
.diag-scale-btn{padding:18px 8px;background:var(--cream-dark);border:2px solid var(--border);border-radius:16px;color:var(--dark);font-weight:700;font-size:13px;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:6px;line-height:1.2;}
.diag-scale-btn:hover{border-color:var(--coral);background:#F8E4DC;transform:translateY(-2px);}
.diag-scale-btn.selected{background:var(--coral);color:var(--cream);border-color:var(--coral);}
.diag-scale-emoji{font-size:24px;}
.diag-scale-label{font-size:10px;letter-spacing:0.04em;font-weight:600;text-align:center;}
.diag-scale-axis{display:flex;justify-content:space-between;font-family:Georgia,serif;font-style:italic;font-size:11px;color:var(--beige);margin-top:8px;padding:0 8px;}

/* Diagnosis result */
.diag-result-section{padding:clamp(48px,5vw,80px) var(--pad-edge);background:var(--cream);}
.diag-result-inner{max-width:780px;margin:0 auto;}
.diag-result-card{background:#fff;border:2.5px solid var(--coral);border-radius:36px;padding:48px 36px;text-align:center;position:relative;overflow:hidden;margin-bottom:32px;}
.diag-result-card::before{content:"You";position:absolute;top:-30px;left:50%;transform:translateX(-50%);font-family:Georgia,serif;font-style:italic;font-size:180px;color:rgba(63,53,32,0.04);font-weight:900;line-height:1;pointer-events:none;}
.diag-result-eyebrow{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:14px;margin-bottom:10px;letter-spacing:0.1em;position:relative;}
.diag-result-eyebrow::before,.diag-result-eyebrow::after{content:'✦';color:var(--amber);font-style:normal;margin:0 8px;}
.diag-result-percent{font-size:clamp(72px,9vw,140px);font-weight:900;color:var(--coral);line-height:1;letter-spacing:-0.05em;margin-bottom:12px;position:relative;font-family:Georgia,serif;font-style:italic;}
.diag-result-percent .pct-mark{font-size:0.4em;color:var(--dark);font-family:'Hiragino Sans','Yu Gothic',sans-serif;font-style:normal;font-weight:900;vertical-align:top;margin-left:6px;}
.diag-result-typename{font-size:clamp(24px,2.8vw,38px);font-weight:900;color:var(--dark);letter-spacing:-0.03em;margin-bottom:14px;position:relative;}
.diag-result-typename em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.diag-result-tagline{font-family:Georgia,serif;font-style:italic;color:var(--beige);font-size:14px;margin-bottom:24px;position:relative;}
.diag-result-desc{font-size:15px;color:var(--dark-soft);line-height:2;max-width:560px;margin:0 auto 28px;position:relative;}

.diag-traits{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-bottom:28px;position:relative;text-align:left;}
.diag-trait{background:var(--cream-dark);border-radius:18px;padding:18px 20px;}
.diag-trait-label{display:flex;align-items:center;gap:8px;font-size:11px;font-weight:900;letter-spacing:0.1em;margin-bottom:8px;}
.diag-trait-label.good{color:var(--sage);}
.diag-trait-label.bad{color:var(--coral);}
.diag-trait-label::before{font-family:Georgia,serif;font-style:italic;font-size:18px;line-height:1;}
.diag-trait-label.good::before{content:'+';color:var(--sage);}
.diag-trait-label.bad::before{content:'-';color:var(--coral);}
.diag-trait-list{font-size:13px;color:var(--dark);line-height:1.8;}
.diag-trait-list span{display:inline-block;padding:3px 10px;background:var(--cream);border-radius:14px;font-size:12px;font-weight:600;margin:2px 4px 2px 0;}

/* Score breakdown bars */
.diag-breakdown{background:var(--cream-dark);border-radius:24px;padding:24px 28px;margin-bottom:28px;text-align:left;position:relative;}
.diag-breakdown-title{font-size:14px;font-weight:900;color:var(--dark);margin-bottom:18px;letter-spacing:-0.02em;display:flex;align-items:center;gap:8px;}
.diag-breakdown-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.diag-bar-row{margin-bottom:14px;}
.diag-bar-row:last-child{margin-bottom:0;}
.diag-bar-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:12px;font-weight:700;color:var(--dark);}
.diag-bar-head em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-size:14px;font-weight:900;}
.diag-bar-track{height:10px;background:var(--cream);border-radius:5px;overflow:hidden;}
.diag-bar-fill{height:100%;border-radius:5px;}
.diag-bar-fill.b1{width:78%;background:var(--coral);}
.diag-bar-fill.b2{width:62%;background:var(--sage);}
.diag-bar-fill.b3{width:45%;background:var(--amber);}
.diag-bar-fill.b4{width:31%;background:var(--pink);}

.diag-share-section{padding:32px;background:var(--dark);border-radius:28px;color:var(--cream);text-align:center;position:relative;overflow:hidden;}
.diag-share-section::before{content:"Share";position:absolute;top:-20px;right:5%;font-family:Georgia,serif;font-style:italic;font-size:140px;color:rgba(251,248,240,0.04);font-weight:900;line-height:1;}
.diag-share-title{font-size:18px;font-weight:900;margin-bottom:6px;letter-spacing:-0.02em;position:relative;}
.diag-share-sub{font-size:12px;color:rgba(251,248,240,0.7);margin-bottom:20px;font-family:Georgia,serif;font-style:italic;position:relative;}
.diag-share-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;position:relative;}
.diag-share-x,.diag-share-line,.diag-share-fb,.diag-share-copy{padding:12px 22px;border-radius:28px;font-size:13px;font-weight:900;letter-spacing:0.04em;display:inline-flex;align-items:center;gap:8px;}
.diag-share-x{background:var(--cream);color:var(--dark);}
.diag-share-line{background:#06C755;color:var(--cream);}
.diag-share-fb{background:#1877F2;color:var(--cream);}
.diag-share-copy{background:transparent;color:var(--cream);border:1.5px solid var(--cream);}

.diag-result-actions{margin-top:28px;display:flex;justify-content:center;gap:12px;flex-wrap:wrap;}
.diag-retry-btn{background:transparent;color:var(--dark);border:1.5px solid var(--dark);padding:14px 26px;border-radius:30px;font-size:13px;font-weight:900;letter-spacing:0.04em;}
.diag-other-btn{background:var(--coral);color:var(--cream);border:none;padding:14px 26px;border-radius:30px;font-size:13px;font-weight:900;letter-spacing:0.04em;}

/* Responsive */
@media(max-width:1100px){
  .article-body{grid-template-columns:1fr;}
  .article-toc{position:relative;top:0;}
  .related-grid,.qr-grid{grid-template-columns:repeat(2,1fr);}
  .related-items-grid{grid-template-columns:repeat(2,1fr);}
  .diag-traits{grid-template-columns:1fr;}
  .riddle-list{grid-template-columns:1fr;}
}
@media(max-width:680px){
  .subj-child-group{grid-template-columns:1fr;gap:8px;}
  .subj-child-label{padding-top:0;}
  .related-grid,.qr-grid,.related-items-grid{grid-template-columns:1fr;}
  .midquiz{grid-template-columns:1fr;}
  .detail-display{font-size:clamp(48px,16vw,80px);}
  .detail-display-deco-l,.detail-display-deco-r{display:none;}
  .quiz-stats{gap:16px;}
  .diag-scale{grid-template-columns:repeat(5,1fr);gap:4px;}
  .diag-scale-btn{padding:12px 4px;font-size:11px;}
  .diag-scale-emoji{font-size:18px;}
  .article-content h2::before{display:none;}
  .article-content h2{padding-left:0;}
  .nav-r a{display:none;}
}

/* ───────────────────────────────────────
   Archive / Search results
   ─────────────────────────────────────── */
.archive-wrap{padding:clamp(50px, 6vw, 80px) var(--pad-edge);background:var(--cream);position:relative;}
.archive-hd{margin-bottom:36px;padding-bottom:24px;border-bottom:1.5px solid var(--border);}
.archive-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:14px;color:var(--coral);margin-bottom:8px;letter-spacing:0.08em;}
.archive-eyebrow::before{content:'— ';}
.archive-title{font-size:clamp(28px, 3.6vw, 52px);font-weight:900;color:var(--dark);letter-spacing:-0.04em;line-height:1.15;}
.archive-title em{font-family:Georgia,serif;font-style:italic;color:var(--coral);font-weight:400;}
.archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(18px, 2vw, 28px);}

/* Pagination */
.pagination{display:flex;justify-content:center;gap:8px;margin-top:48px;flex-wrap:wrap;}
.pagination a,.pagination span{padding:11px 18px;border-radius:26px;font-size:13px;font-weight:700;color:var(--dark);background:var(--cream-dark);transition:all .15s;}
.pagination a:hover{background:var(--sage);color:var(--cream);}
.pagination .current{background:var(--dark);color:var(--cream);}

/* 404 */
.notfound{padding:100px var(--pad-edge);text-align:center;background:var(--cream);}
.notfound h1{font-size:clamp(80px, 10vw, 140px);font-weight:900;color:var(--coral);font-family:Georgia,serif;font-style:italic;line-height:1;}
.notfound p{font-size:15px;color:var(--muted);margin:18px 0 30px;}

/* ───────────────────────────────────────
   Country Kanji (国名漢字 CPT)
   ─────────────────────────────────────── */

/* Page header - タイトル先（通常記事と同じサイズ） */
.ck-page-header{padding:clamp(40px,5vw,72px) var(--pad-edge) clamp(32px,3vw,48px);background:var(--cream);position:relative;overflow:hidden;}
.ck-page-header::before{content:"Country Kanji";position:absolute;top:-20px;right:5%;font-family:Georgia,serif;font-style:italic;font-size:clamp(100px,12vw,180px);color:rgba(63,53,32,0.04);font-weight:900;line-height:1;pointer-events:none;white-space:nowrap;}
.ck-page-header > *{position:relative;z-index:2;}
.ck-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:14px;color:var(--coral);letter-spacing:0.08em;margin-bottom:18px;}
.ck-page-title{font-family:var(--font-display);font-size:clamp(28px,3.8vw,56px);font-weight:900;color:var(--dark);letter-spacing:-0.03em;line-height:1.18;margin-bottom:24px;max-width:900px;}
.ck-page-meta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;padding-top:18px;border-top:1px dashed var(--border);font-size:14px;color:var(--muted);max-width:900px;}
.ck-meta-flag{font-size:22px;line-height:1;}
.ck-meta-kana{font-weight:900;color:var(--dark);font-size:16px;}
.ck-meta-en{font-family:Georgia,serif;font-style:italic;color:var(--muted);}
.ck-meta-date{margin-left:auto;font-family:Georgia,serif;font-style:italic;color:var(--beige);font-size:13px;}

/* Kanji data card - Trading card 3-column horizontal */
.ck-tcg{margin:36px 0 48px;padding:8px;background:linear-gradient(145deg,var(--yellow) 0%,var(--pink) 50%,var(--coral) 100%);border-radius:24px;box-shadow:0 10px 28px rgba(63,53,32,0.14);}
.ck-tcg-inner{background:var(--cream);border-radius:18px;padding:24px 28px;position:relative;overflow:hidden;display:grid;grid-template-columns:auto 1fr auto;gap:20px;align-items:center;}
.ck-tcg-inner::before{content:'★';position:absolute;top:14px;right:18px;font-size:18px;color:var(--coral);opacity:0.7;z-index:3;}

/* Col 1: Flag + Country */
.ck-tcg-flag-col{display:flex;flex-direction:column;align-items:center;text-align:center;}
.ck-tcg-flag-badge{display:flex;align-items:center;justify-content:center;font-size:64px;line-height:1;margin-bottom:8px;filter:drop-shadow(0 2px 6px rgba(63,53,32,0.12));}
.ck-tcg-country-kana{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--dark);line-height:1.1;margin-bottom:2px;}
.ck-tcg-country-en{font-family:Georgia,serif;font-style:italic;font-size:11px;color:var(--muted);letter-spacing:0.04em;}

/* Col 2: Hero (Long form) */
.ck-tcg-hero{text-align:center;padding:0 8px;}
.ck-tcg-eyebrow{font-family:Georgia,serif;font-style:italic;font-size:11px;color:var(--coral);letter-spacing:0.2em;margin-bottom:6px;text-transform:uppercase;}
.ck-tcg-main-text{font-family:var(--font-display);font-size:clamp(40px,5vw,60px);font-weight:800;color:var(--dark);letter-spacing:0.1em;line-height:1.15;}
.ck-tcg-main-text::before,.ck-tcg-main-text::after{content:'❀';display:inline-block;font-size:16px;color:var(--coral);opacity:0.5;margin:0 8px;vertical-align:middle;}
.ck-tcg-reading{font-family:Georgia,serif;font-style:italic;font-size:12px;color:var(--coral);margin-top:4px;}

/* Col 3: Stats */
.ck-tcg-stats{display:flex;flex-direction:column;gap:6px;min-width:120px;}
.ck-tcg-stat-box{background:var(--cream-dark);padding:6px 12px;border-radius:10px;}
.ck-tcg-stat-key{font-family:Georgia,serif;font-style:italic;font-size:10px;color:var(--muted);letter-spacing:0.06em;display:block;}
.ck-tcg-stat-val{font-weight:800;color:var(--dark);font-size:14px;}
.ck-tcg-single-inline{font-family:var(--font-display);font-size:20px;color:var(--coral);font-weight:800;line-height:1;}

/* Bottom row: other writings (inline text, NOT buttons) */
.ck-tcg-others-row{grid-column:1 / -1;padding-top:14px;border-top:1px dashed var(--border);display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;}
.ck-tcg-others-label{font-family:Georgia,serif;font-style:italic;font-size:11px;color:var(--muted);letter-spacing:0.1em;flex-shrink:0;}
.ck-tcg-chip{display:inline-block;font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--coral-dark);letter-spacing:0.04em;}
.ck-tcg-chip + .ck-tcg-chip::before{content:'・';color:var(--beige);font-weight:400;margin:0 8px;display:inline-block;}

/* Archive grid (一覧ページ・関連セクション共用) */
.ck-archive-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(16px, 2vw, 26px);}
.ck-card{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 20px;background:var(--cream);border:1.5px solid var(--border);border-radius:24px;text-align:center;color:var(--dark);transition:all .2s;position:relative;}
.ck-card:hover{transform:translateY(-4px);border-color:var(--sage);box-shadow:0 8px 24px rgba(63,53,32,0.08);}
.ck-card-flag{font-size:36px;line-height:1;margin-bottom:10px;}
.ck-card-big{font-size:clamp(56px, 7vw, 96px);font-weight:900;color:var(--dark);line-height:1;letter-spacing:-0.03em;margin-bottom:12px;}
.ck-card:hover .ck-card-big{color:var(--coral);}
.ck-card-long{font-size:14px;font-weight:700;color:var(--coral);letter-spacing:0.08em;margin-bottom:6px;}
.ck-card-kana{font-size:12px;color:var(--muted);letter-spacing:0.04em;}

@media(max-width:900px){
	.ck-archive-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:680px){
	.ck-archive-grid{grid-template-columns:repeat(2,1fr);}
	.ck-page-meta{flex-direction:column;align-items:flex-start;gap:10px;}
	.ck-meta-date{margin-left:0;}
	.ck-tcg-inner{grid-template-columns:1fr;gap:18px;padding:20px;}
	.ck-tcg-stats{flex-direction:row;flex-wrap:wrap;min-width:0;justify-content:center;}
	.ck-tcg-stat-box{flex:1 1 auto;min-width:90px;}
	.ck-tcg-others-row{justify-content:center;}
}

/* ── Responsive ── */
@media(max-width:1100px){
  .nav-r a{display:none;}
  .nav-r a:nth-last-child(-n+2){display:inline-flex;}
  .archive-grid{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:820px){
  .hero{height:clamp(440px, 60vh, 600px);}
  .h-h{font-size:clamp(32px, 7vw, 52px);}
  .portal-grid{grid-template-columns:1fr;}
  .pcard.c2{margin-top:0;}
  .alt-item{grid-template-columns:1fr;}
  .alt-item.rev{direction:ltr;}
  .alt-img{height:240px;}
  .age-grid{grid-template-columns:repeat(2,1fr);}
  .agec.a2,.agec.a4{margin-top:0;}
  .agec{height:340px;}
  .agec-name{font-size:24px;}
  .scrap-cards{grid-template-columns:1fr 1fr;}
  .scard.c1{grid-row:auto;grid-column:1/3;}
  .series-grid{grid-template-columns:1fr;}
  .scard-big{grid-template-columns:140px 1fr;}
  .feat-section{grid-template-columns:1fr;}
  .feat-l{border-right:none;border-bottom:1.5px dashed var(--border);}
  .archive-grid{grid-template-columns:1fr 1fr;}
  .cta-form{flex-direction:column;}
  .footer{flex-direction:column;text-align:center;}
  .h-meta-row{flex-direction:column;align-items:flex-start;}
  .age-side-text{text-align:left;}
  .logo-tag{display:none;}
}
@media(max-width:520px){
  .nav-r a{display:none;}
  .nav{padding:18px 20px;}
  .logo-text{font-size:24px;}
  .h-tag-top,.h-stamp{font-size:11px;}
  .h-stamp-no{font-size:24px;}
  .archive-grid{grid-template-columns:1fr;}
}
