/* ========================================================
   ジンドゥークリエイター 独自レイアウト用 CSS（スライドショー付き完全版）
   管理メニュー > デザイン > カスタム > 独自レイアウト > CSS タブ に貼り付け
   ======================================================== */

*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }
body { font-family: 'Noto Sans JP', 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif; background: #faf7f0; color: #1a1510; overflow-x: hidden; }

#navi, .cc-nav, nav.cc-nav, [class*="jimdo-nav"] { display: none !important; }
.jd-content-wrap { display: none; }

:root {
  --indigo:       #1a2744;
  --indigo-light: #243156;
  --indigo-deep:  #0f1a30;
  --gold:         #c9a84c;
  --gold-light:   #e8c97a;
  --gold-pale:    #f5e9c8;
  --cream:        #faf7f0;
  --warm-gray:    #8a8070;
  --text-dark:    #1a1510;
  --text-mid:     #4a4035;
}

/* ════════════════════════════
   スライドショー
════════════════════════════ */
.jd-slideshow-wrap {
  position: relative;
  width: 100%;
  height: 70vh;
  min-height: 420px;
  max-height: 720px;
  overflow: hidden;
  background: var(--indigo-deep);
}
.jd-slides { position: relative; width: 100%; height: 100%; }
.jd-slide { position: absolute; inset: 0; opacity: 0; z-index: 0; }
.jd-slide.jd-active { opacity: 1; z-index: 2; }
.jd-slide img { width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.jd-slide-overlay {
  position: absolute; inset: 0; z-index: 2;
  background: linear-gradient(to bottom, rgba(15,26,48,0.15) 0%, rgba(15,26,48,0.35) 50%, rgba(15,26,48,0.75) 100%);
  display: flex; align-items: flex-end;
  padding: 3rem 6rem;
}
.jd-slide-caption {
  font-family: 'Shippori Mincho', 'Noto Serif JP', serif;
  font-size: clamp(1rem, 2vw, 1.4rem);
  color: #faf7f0;
  font-weight: 500;
  letter-spacing: 0.05em;
  line-height: 1.6;
  text-shadow: 0 2px 12px rgba(0,0,0,0.4);
  border-left: 3px solid var(--gold);
  padding-left: 1.2rem;
}
.jd-slide-btn {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 10;
  background: rgba(15,26,48,0.55); border: 1px solid rgba(201,168,76,0.35);
  color: var(--gold-light); font-size: 2rem;
  width: 52px; height: 52px;
  display: flex; align-items: center; justify-content: center;
  cursor: pointer; transition: background 0.3s, border-color 0.3s; padding: 0; line-height: 1;
}
.jd-slide-btn:hover { background: rgba(201,168,76,0.25); border-color: var(--gold); }
.jd-prev { left: 2rem; }
.jd-next { right: 2rem; }
.jd-dots { position: absolute; bottom: 1.5rem; left: 50%; transform: translateX(-50%); z-index: 10; display: flex; gap: 0.6rem; }
.jd-dot { width: 8px; height: 8px; border-radius: 50%; background: rgba(250,247,240,0.35); border: 1px solid rgba(201,168,76,0.4); cursor: pointer; transition: background 0.3s, transform 0.3s; }
.jd-dot.jd-dot-active, .jd-dot:hover { background: var(--gold); transform: scale(1.3); }

/* ════════════════════════════
   HERO
════════════════════════════ */
.jd-hero { min-height: 100vh; background: var(--indigo-deep); position: relative; overflow: hidden; }
.jd-hero-bg { position: absolute; inset: 0; background-image: repeating-linear-gradient(0deg,transparent,transparent 80px,rgba(201,168,76,0.04) 80px,rgba(201,168,76,0.04) 81px),repeating-linear-gradient(90deg,transparent,transparent 80px,rgba(201,168,76,0.04) 80px,rgba(201,168,76,0.04) 81px); }
.jd-hero-circle { position: absolute; border-radius: 50%; border: 1px solid rgba(201,168,76,0.1); }
.jd-circle1 { width:600px; height:600px; top:-100px; right:-100px; animation:jdRotate 60s linear infinite; }
.jd-circle2 { width:900px; height:900px; top:-250px; right:-250px; animation:jdRotate 90s linear infinite reverse; }
.jd-circle3 { width:1200px; height:1200px; top:-400px; right:-400px; animation:jdRotate 120s linear infinite; }
@keyframes jdRotate { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.jd-hero-inner { display:grid; grid-template-columns:1fr 1fr; min-height:100vh; position:relative; z-index:2; }
.jd-hero-left { display:flex; flex-direction:column; justify-content:center; padding:8rem 4rem 6rem 6rem; }
.jd-eyebrow { font-size:0.68rem; letter-spacing:0.3em; color:var(--gold); text-transform:uppercase; margin-bottom:2rem; font-weight:400; display:flex; align-items:center; gap:1rem; animation:jdFadeUp 0.8s ease 0.3s both; }
.jd-eyebrow::before { content:''; display:block; width:40px; height:1px; background:var(--gold); }
.jd-hero-title { font-family:'Shippori Mincho','Noto Serif JP',serif; font-size:clamp(2rem,3.5vw,3.4rem); color:#faf7f0; line-height:1.5; margin-bottom:1.5rem; font-weight:600; animation:jdFadeUp 0.8s ease 0.5s both; }
.jd-hero-title em { font-style:normal; color:var(--gold-light); }
.jd-hero-tagline { font-family:'DM Serif Display',Georgia,serif; font-size:0.95rem; color:rgba(250,247,240,0.45); letter-spacing:0.05em; margin-bottom:2rem; font-style:italic; animation:jdFadeUp 0.8s ease 0.7s both; }
.jd-hero-desc { font-size:0.84rem; line-height:2.1; color:rgba(250,247,240,0.65); font-weight:300; max-width:460px; margin-bottom:2.5rem; animation:jdFadeUp 0.8s ease 0.9s both; }
.jd-hero-cta { display:inline-block; padding:1rem 2rem; background:transparent; border:1px solid var(--gold); color:var(--gold-light); font-size:0.78rem; letter-spacing:0.15em; font-weight:400; animation:jdFadeUp 0.8s ease 1.1s both; }
.jd-hero-right { display:flex; align-items:center; justify-content:center; padding:8rem 4rem; animation:jdFadeUp 0.8s ease 0.8s both; }
@keyframes jdFadeUp { from{opacity:0;transform:translateY(40px)} to{opacity:1;transform:translateY(0)} }
.jd-stats-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5px; background:rgba(201,168,76,0.15); border:1px solid rgba(201,168,76,0.15); width:100%; max-width:420px; }
.jd-stat { background:rgba(15,26,48,0.8); padding:2.2rem; position:relative; transition:background 0.3s; }
.jd-stat:hover { background:rgba(26,39,68,0.9); }
.jd-stat::before { content:''; position:absolute; top:0; left:0; width:3px; height:0; background:var(--gold); transition:height 0.4s; }
.jd-stat:hover::before { height:100%; }
.jd-stat-num { font-family:'DM Serif Display',Georgia,serif; font-size:2.6rem; color:var(--gold-light); line-height:1; margin-bottom:0.4rem; }
.jd-stat-num span { font-size:1.2rem; color:var(--gold); }
.jd-stat-label { font-size:0.7rem; color:rgba(250,247,240,0.5); font-weight:300; line-height:1.6; }
.jd-stat-sub { font-size:0.6rem; color:rgba(201,168,76,0.55); margin-top:0.25rem; font-weight:300; }

/* ════════════════════════════
   セクション共通
════════════════════════════ */
.jd-section { padding:7rem 6rem; }
.jd-sec-white { background:#ffffff; } .jd-sec-cream { background:var(--cream); } .jd-sec-dark { background:var(--indigo-deep); } .jd-sec-indigo { background:var(--indigo); } .jd-sec-none { padding:0; }
.jd-container { max-width:1200px; margin:0 auto; }
.jd-section-tag { display:inline-flex; align-items:center; gap:0.8rem; font-size:0.65rem; letter-spacing:0.3em; color:var(--gold); text-transform:uppercase; margin-bottom:1.2rem; font-weight:400; }
.jd-section-tag::before { content:''; display:block; width:28px; height:1px; background:var(--gold); }
.jd-section-title { font-family:'Shippori Mincho','Noto Serif JP',serif; font-size:clamp(1.6rem,2.5vw,2.4rem); color:var(--indigo); line-height:1.5; margin-bottom:1rem; font-weight:600; }
.jd-section-title.jd-light { color:#faf7f0; } .jd-title-sm { font-size:clamp(1.4rem,2vw,1.8rem); }
.jd-section-sub { font-size:0.85rem; color:var(--warm-gray); line-height:2; max-width:560px; font-weight:300; } .jd-light-text { color:rgba(250,247,240,0.55); }
.jd-grid-2 { display:grid; grid-template-columns:1fr 1fr; gap:6rem; align-items:start; }
.jd-grid-3 { display:grid; grid-template-columns:repeat(3,1fr); gap:1.5px; background:rgba(201,168,76,0.1); }
.jd-card-grid { margin-top:3.5rem; }
.jd-fade { opacity:0; transform:translateY(28px); transition:opacity 0.75s ease,transform 0.75s ease; }
.jd-fade.jd-visible { opacity:1; transform:translateY(0); }
.jd-fade-d1 { transition-delay:0.1s; } .jd-fade-d2 { transition-delay:0.2s; } .jd-fade-d3 { transition-delay:0.3s; }

/* ════════════════════════════
   当法人について
════════════════════════════ */
#jd-about { padding:7rem 6rem; background:#ffffff; }
.jd-about-card { background:var(--indigo); padding:3.5rem; position:relative; overflow:hidden; }
.jd-about-card::before { content:'産学官'; position:absolute; font-family:'Shippori Mincho',serif; font-size:8rem; color:rgba(201,168,76,0.06); right:-1rem; top:-1rem; font-weight:700; line-height:1; pointer-events:none; }
.jd-card-accent { width:40px; height:3px; background:var(--gold); margin-bottom:2rem; }
.jd-card-title { font-family:'Shippori Mincho',serif; font-size:1.15rem; color:#faf7f0; margin-bottom:1.2rem; font-weight:500; }
.jd-card-text { font-size:0.8rem; color:rgba(250,247,240,0.65); line-height:2.1; font-weight:300; }
.jd-meta-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.2rem; margin-top:2rem; padding-top:2rem; border-top:1px solid rgba(201,168,76,0.2); }
.jd-meta-item label { display:block; font-size:0.57rem; letter-spacing:0.2em; color:var(--gold); text-transform:uppercase; margin-bottom:0.35rem; }
.jd-meta-item span { font-size:0.74rem; color:rgba(250,247,240,0.75); font-weight:300; }
.jd-meta-full { grid-column:1/-1; }
.jd-mission-list { margin-top:2.5rem; }
.jd-mission-item { margin-bottom:1.8rem; padding-left:1.2rem; border-left:2px solid rgba(201,168,76,0.4); }
.jd-mission-item h4 { font-family:'Shippori Mincho',serif; font-size:0.9rem; color:var(--indigo); margin-bottom:0.6rem; font-weight:500; line-height:1.6; }
.jd-mission-item p { font-size:0.78rem; color:var(--text-mid); line-height:2.1; font-weight:300; }

/* ════════════════════════════
   ビジョン
════════════════════════════ */
.jd-vision-card { background:#ffffff; padding:2.8rem; position:relative; overflow:hidden; transition:background 0.3s; }
.jd-vision-card:hover { background:var(--gold-pale); }
.jd-vision-card::before { content:attr(data-num); position:absolute; bottom:-1rem; right:1rem; font-family:'DM Serif Display',serif; font-size:7rem; color:rgba(26,39,68,0.04); line-height:1; pointer-events:none; }
.jd-vision-icon { font-size:1.6rem; margin-bottom:1.2rem; }
.jd-vision-card h3 { font-family:'Shippori Mincho',serif; font-size:1rem; color:var(--indigo); margin-bottom:0.9rem; font-weight:500; line-height:1.5; }
.jd-vision-card p { font-size:0.78rem; color:var(--text-mid); line-height:2.1; font-weight:300; }

/* ════════════════════════════
   取組・事業
════════════════════════════ */
#jd-initiatives { position:relative; overflow:hidden; }
#jd-initiatives::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(-45deg,transparent,transparent 40px,rgba(201,168,76,0.02) 40px,rgba(201,168,76,0.02) 41px); pointer-events:none; }
.jd-init-header { display:grid; grid-template-columns:1fr 1fr; gap:4rem; margin-bottom:4rem; position:relative; z-index:1; }
.jd-init-intro { font-size:0.84rem; color:rgba(250,247,240,0.6); line-height:2.1; font-weight:300; padding-top:3.5rem; }
.jd-init-grid { position:relative; z-index:1; }
.jd-init-card { background:var(--indigo); padding:2.5rem; transition:background 0.3s; position:relative; overflow:hidden; }
.jd-init-card:hover { background:var(--indigo-light); }
.jd-init-card::after { content:attr(data-num); position:absolute; bottom:-0.5rem; right:1rem; font-family:'DM Serif Display',serif; font-size:6rem; color:rgba(201,168,76,0.05); line-height:1; pointer-events:none; }
.jd-init-icon { font-size:1.4rem; margin-bottom:1.2rem; }
.jd-init-title { font-family:'Shippori Mincho',serif; font-size:0.95rem; color:var(--gold-light); margin-bottom:0.9rem; font-weight:500; line-height:1.5; }
.jd-init-desc { font-size:0.76rem; color:rgba(250,247,240,0.55); line-height:2.1; font-weight:300; }
.jd-init-sub { display:grid; grid-template-columns:1fr 1fr; gap:1.5rem; margin-top:3.5rem; position:relative; z-index:1; }
.jd-init-sub-card { background:rgba(255,255,255,0.04); border:1px solid rgba(201,168,76,0.15); padding:2rem; }
.jd-init-sub-card h4 { font-family:'Shippori Mincho',serif; font-size:0.95rem; color:var(--gold-light); margin-bottom:0.8rem; font-weight:500; }
.jd-init-sub-card p { font-size:0.76rem; color:rgba(250,247,240,0.55); line-height:2.1; font-weight:300; }

/* ════════════════════════════
   実績・エビデンス
════════════════════════════ */
.jd-evidence-layout { display:grid; grid-template-columns:1fr 2fr; gap:6rem; margin-top:3.5rem; align-items:start; }
.jd-evidence-nums { display:flex; flex-direction:column; gap:2rem; }
.jd-ev-num-item { padding-bottom:2rem; border-bottom:1px solid rgba(26,39,68,0.1); }
.jd-ev-num-item:last-child { border-bottom:none; }
.jd-ev-number { font-family:'DM Serif Display',Georgia,serif; font-size:3rem; color:var(--indigo); line-height:1.2; }
.jd-ev-number sup { font-size:1.1rem; color:var(--gold); }
.jd-ev-arrow { font-family:'DM Serif Display',serif; font-size:1.6rem; color:var(--gold); margin-top:0.3rem; }
.jd-ev-num-label { font-size:0.72rem; color:var(--warm-gray); margin-top:0.5rem; line-height:1.7; font-weight:300; }
.jd-evidence-panels { display:flex; flex-direction:column; gap:1.5rem; }
.jd-ev-panel { padding:2rem 2.5rem; border:1px solid rgba(26,39,68,0.1); background:#ffffff; transition:border-color 0.3s,box-shadow 0.3s; }
.jd-ev-panel:hover { border-color:var(--gold); box-shadow:0 4px 24px rgba(201,168,76,0.1); }
.jd-ev-panel-dark { background:var(--indigo) !important; border-color:rgba(201,168,76,0.2) !important; }
.jd-ev-label { font-size:0.62rem; letter-spacing:0.25em; color:var(--gold); text-transform:uppercase; margin-bottom:0.7rem; font-weight:400; }
.jd-ev-title { font-family:'Shippori Mincho',serif; font-size:0.95rem; color:var(--indigo); margin-bottom:0.6rem; font-weight:500; }
.jd-ev-title.jd-light { color:#faf7f0; }
.jd-ev-text { font-size:0.77rem; color:var(--warm-gray); line-height:2; font-weight:300; }
.jd-ev-text.jd-light-text { color:rgba(250,247,240,0.6); }
.jd-bar-wrap { margin-top:1rem; }
.jd-bar-row { display:flex; justify-content:space-between; font-size:0.7rem; color:var(--text-mid); margin-bottom:0.35rem; }
.jd-bar { height:4px; background:rgba(26,39,68,0.1); border-radius:2px; overflow:hidden; margin-bottom:0.7rem; }
.jd-bar-fill { height:100%; background:var(--gold); border-radius:2px; transform-origin:left; animation:jdBarGrow 1.5s ease forwards; }
@keyframes jdBarGrow { from{transform:scaleX(0)} to{transform:scaleX(1)} }
.jd-milestone-grid { display:grid; grid-template-columns:1fr 1fr; gap:1.5px; background:rgba(26,39,68,0.1); }
.jd-milestone { background:#ffffff; padding:1.8rem; transition:background 0.3s; }
.jd-milestone:hover { background:var(--gold-pale); }
.jd-milestone-label { font-size:0.6rem; letter-spacing:0.2em; color:var(--gold); text-transform:uppercase; margin-bottom:0.5rem; }
.jd-milestone-title { font-family:'Shippori Mincho',serif; font-size:0.87rem; color:var(--indigo); margin-bottom:0.5rem; font-weight:500; line-height:1.5; }
.jd-milestone-text { font-size:0.73rem; color:var(--warm-gray); line-height:1.9; font-weight:300; }

/* ════════════════════════════
   参加・連携
════════════════════════════ */
.jd-connect-grid { display:grid; grid-template-columns:1fr 1fr; }
.jd-connect-left { background:var(--indigo); padding:6rem; position:relative; overflow:hidden; }
.jd-connect-left::before { content:'連携'; position:absolute; font-family:'Shippori Mincho',serif; font-size:14rem; color:rgba(201,168,76,0.05); right:-2rem; bottom:-2rem; font-weight:700; line-height:1; pointer-events:none; }
.jd-connect-desc { font-size:0.83rem; color:rgba(250,247,240,0.6); line-height:2.1; font-weight:300; margin-top:1rem; }
.jd-audiences { margin-top:2.5rem; display:flex; flex-direction:column; gap:1.5rem; }
.jd-audience { padding:1.5rem; background:rgba(255,255,255,0.04); border-left:3px solid rgba(201,168,76,0.35); transition:border-color 0.3s; }
.jd-audience:hover { border-color:var(--gold); }
.jd-audience h4 { font-family:'Shippori Mincho',serif; font-size:0.9rem; color:var(--gold-light); margin-bottom:0.6rem; font-weight:500; }
.jd-audience p { font-size:0.75rem; color:rgba(250,247,240,0.55); line-height:2; font-weight:300; }
.jd-connect-right { background:var(--cream); padding:6rem; }
.jd-menu-list { margin-top:2.5rem; display:flex; flex-direction:column; gap:1px; background:rgba(26,39,68,0.08); }
.jd-menu-item { background:#ffffff; padding:1.8rem 2rem; border-left:3px solid transparent; transition:background 0.3s,border-color 0.3s; }
.jd-menu-item:hover { background:var(--gold-pale); border-color:var(--gold); }
.jd-menu-title { font-family:'Shippori Mincho',serif; font-size:0.9rem; color:var(--indigo); font-weight:500; margin-bottom:0.6rem; line-height:1.5; }
.jd-menu-text { font-size:0.75rem; color:var(--warm-gray); line-height:2; font-weight:300; }

/* ════════════════════════════
   お知らせ
════════════════════════════ */
#jd-news { position:relative; overflow:hidden; }
#jd-news::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(-45deg,transparent,transparent 60px,rgba(201,168,76,0.02) 60px,rgba(201,168,76,0.02) 61px); pointer-events:none; }
.jd-news-grid { margin-top:3rem; position:relative; z-index:1; }
.jd-news-card { background:rgba(15,26,48,0.7); padding:2.2rem; transition:background 0.3s; }
.jd-news-card:hover { background:var(--indigo-light); }
.jd-news-tag { font-size:0.6rem; letter-spacing:0.2em; color:var(--gold); text-transform:uppercase; margin-bottom:0.8rem; }
.jd-news-title { font-family:'Shippori Mincho',serif; font-size:0.92rem; color:#faf7f0; margin-bottom:0.8rem; font-weight:500; line-height:1.6; }
.jd-news-text { font-size:0.74rem; color:rgba(250,247,240,0.5); line-height:1.9; font-weight:300; }

/* ════════════════════════════
   お問い合わせ
════════════════════════════ */
#jd-contact { position:relative; overflow:hidden; }
#jd-contact::before { content:''; position:absolute; inset:0; background:repeating-linear-gradient(-45deg,transparent,transparent 60px,rgba(201,168,76,0.03) 60px,rgba(201,168,76,0.03) 61px); pointer-events:none; }
.jd-contact-inner { max-width:640px; margin:0 auto; position:relative; z-index:1; }
.jd-contact-lead { font-size:0.81rem; color:rgba(250,247,240,0.5); text-align:center; margin-top:0.5rem; line-height:2; font-weight:300; }
.jd-contact-form { display:flex; flex-direction:column; gap:1rem; margin-top:2.5rem; }
.jd-form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
.jd-form-field input,.jd-form-field textarea,.jd-form-field select { width:100%; padding:1rem 1.2rem; background:rgba(250,247,240,0.06); border:1px solid rgba(201,168,76,0.22); color:#faf7f0; font-family:'Noto Sans JP',sans-serif; font-size:0.8rem; outline:none; transition:border-color 0.3s; appearance:none; -webkit-appearance:none; }
.jd-form-field input::placeholder,.jd-form-field textarea::placeholder { color:rgba(250,247,240,0.35); }
.jd-form-field input:focus,.jd-form-field textarea:focus,.jd-form-field select:focus { border-color:var(--gold); }
.jd-form-field select { background:rgba(15,26,48,0.8); color:rgba(250,247,240,0.55); cursor:pointer; }
.jd-form-field select option { background:var(--indigo-deep); }
.jd-form-check { display:flex; align-items:flex-start; gap:0.8rem; font-size:0.73rem; color:rgba(250,247,240,0.5); font-weight:300; line-height:1.8; }
.jd-form-check input[type=checkbox] { width:16px; height:16px; min-width:16px; margin-top:3px; accent-color:var(--gold); }
.jd-form-submit { width:100%; padding:1.2rem; background:var(--gold); color:var(--indigo-deep); font-family:'Noto Sans JP',sans-serif; font-size:0.82rem; letter-spacing:0.2em; border:none; cursor:pointer; font-weight:500; transition:background 0.3s; }
.jd-form-submit:hover { background:var(--gold-light); }
.jd-contact-note { font-size:0.72rem; color:rgba(250,247,240,0.38); margin-top:0.8rem; text-align:center; line-height:1.9; font-weight:300; }

/* ════════════════════════════
   フッター
════════════════════════════ */
.jd-footer { background:var(--indigo-deep); color:rgba(250,247,240,0.45); padding:2.5rem 6rem; display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(201,168,76,0.15); flex-wrap:wrap; gap:1.5rem; }
.jd-footer-logo { font-family:'Shippori Mincho',serif; font-size:0.88rem; color:var(--gold-light); letter-spacing:0.05em; }
.jd-footer-meta { font-size:0.68rem; line-height:2; text-align:right; font-weight:300; }

/* ════════════════════════════
   活動写真ギャラリー
════════════════════════════ */
.jd-gallery-list {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-top: 3.5rem;
}

/* 1件ごとの行 */
.jd-gallery-item {
  display: grid;
  grid-template-columns: 1fr 1fr;
  min-height: 360px;
  border-bottom: 1px solid rgba(26,39,68,0.08);
}
/* 奇数行：左写真・右テキスト（デフォルト） */
/* 偶数行：左テキスト・右写真（反転） */
.jd-gallery-rev {
  direction: rtl; /* 親要素だけ反転 */
}
.jd-gallery-rev > * {
  direction: ltr; /* 子要素は戻す */
}

/* 写真エリア */
.jd-gallery-img {
  overflow: hidden;
  position: relative;
  background: var(--indigo);
}
.jd-gallery-img img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  transition: transform 0.6s ease;
}
.jd-gallery-item:hover .jd-gallery-img img {
  transform: scale(1.04);
}

/* プレースホルダー（URL未設定時） */
.jd-gallery-img img[src^="PHOTO"] {
  opacity: 0.3;
  background: linear-gradient(135deg, var(--indigo) 0%, var(--indigo-deep) 100%);
}

/* テキストエリア */
.jd-gallery-body {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 3.5rem 4rem;
  background: #ffffff;
  position: relative;
}
/* 金の縦ライン装飾（左側） */
.jd-gallery-item:not(.jd-gallery-rev) .jd-gallery-body::before {
  content: '';
  position: absolute;
  left: 0; top: 15%; bottom: 15%;
  width: 3px;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
}
.jd-gallery-rev .jd-gallery-body::after {
  content: '';
  position: absolute;
  right: 0; top: 15%; bottom: 15%;
  width: 3px;
  background: linear-gradient(to bottom, transparent, var(--gold), transparent);
}

/* カテゴリタグ */
.jd-gallery-tag {
  font-size: 0.62rem;
  letter-spacing: 0.25em;
  color: var(--gold);
  text-transform: uppercase;
  margin-bottom: 0.9rem;
  font-weight: 400;
  display: flex;
  align-items: center;
  gap: 0.6rem;
}
.jd-gallery-tag::before {
  content: '';
  display: block;
  width: 20px;
  height: 1px;
  background: var(--gold);
}

/* タイトル */
.jd-gallery-title {
  font-family: 'Shippori Mincho', 'Noto Serif JP', serif;
  font-size: clamp(1rem, 1.6vw, 1.3rem);
  color: var(--indigo);
  font-weight: 600;
  line-height: 1.6;
  margin-bottom: 1.2rem;
}

/* 解説文 */
.jd-gallery-text {
  font-size: 0.82rem;
  color: var(--text-mid);
  line-height: 2.1;
  font-weight: 300;
}

/* ════════════════════════════
   レスポンシブ
════════════════════════════ */
@media (max-width:1200px) {
  .jd-hero-inner,.jd-grid-2,.jd-connect-grid { grid-template-columns:1fr; }
  .jd-grid-3 { grid-template-columns:1fr 1fr; }
  .jd-init-header { grid-template-columns:1fr; }
  .jd-evidence-layout { grid-template-columns:1fr; }
  .jd-form-row,.jd-init-sub { grid-template-columns:1fr; }
  .jd-milestone-grid { grid-template-columns:1fr 1fr; }
  .jd-section,#jd-about { padding:5rem 3rem; }
  .jd-connect-left,.jd-connect-right { padding:5rem 3rem; }
  .jd-hero-left { padding:6rem 3rem 4rem; }
  .jd-hero-right { padding:4rem 3rem; }
  .jd-init-intro { padding-top:0; }
  .jd-slideshow-wrap { height:55vh; }
  .jd-slide-overlay { padding:2rem 3rem; }
  /* ギャラリー */
  .jd-gallery-body { padding:2.5rem 3rem; }
}
@media (max-width:768px) {
  .jd-grid-3,.jd-milestone-grid { grid-template-columns:1fr; }
  .jd-stats-grid { grid-template-columns:1fr 1fr; }
  .jd-section,#jd-about { padding:4rem 1.5rem; }
  .jd-connect-left,.jd-connect-right { padding:4rem 1.5rem; }
  .jd-hero-left { padding:5rem 1.5rem 3rem; }
  .jd-hero-right { padding:3rem 1.5rem; }
  .jd-footer { flex-direction:column; text-align:center; padding:2rem 1.5rem; }
  .jd-footer-meta { text-align:center; }
  .jd-meta-grid { grid-template-columns:1fr 1fr; }
  .jd-slideshow-wrap { height:45vh; min-height:280px; }
  .jd-slide-overlay { padding:1.5rem; }
  .jd-slide-caption { font-size:0.9rem; }
  .jd-slide-btn { width:40px; height:40px; font-size:1.5rem; }
  .jd-prev { left:0.8rem; } .jd-next { right:0.8rem; }
  /* ギャラリー：スマホは縦積み */
  .jd-gallery-item,
  .jd-gallery-rev { grid-template-columns:1fr; direction:ltr; min-height:auto; }
  .jd-gallery-img { height:240px; }
  .jd-gallery-body { padding:2rem 1.5rem; }
  .jd-gallery-item:not(.jd-gallery-rev) .jd-gallery-body::before,
  .jd-gallery-rev .jd-gallery-body::after { display:none; }
}

/* ════════════════════════════════════════
   アセスメントページ専用スタイル
════════════════════════════════════════ */

/* ── ヒーロー（アセスメント版） ── */
.jd-hero-assess .jd-hero-title { font-size: clamp(1.9rem, 3.2vw, 3.2rem); }

/* バッジ */
.jd-as-badges { display: flex; flex-wrap: wrap; gap: 0.6rem; margin-top: 1.5rem; animation: jdFadeUp 0.8s ease 1.1s both; }
.jd-as-badge { font-size: 0.72rem; padding: 0.4rem 0.9rem; background: rgba(201,168,76,0.12); border: 1px solid rgba(201,168,76,0.3); color: var(--gold-light); letter-spacing: 0.04em; font-weight: 300; }

/* ── 価値訴求バナー ── */
.jd-as-value-strip { background: var(--indigo); display: flex; align-items: center; justify-content: center; gap: 0; flex-wrap: wrap; border-top: 1px solid rgba(201,168,76,0.2); border-bottom: 1px solid rgba(201,168,76,0.2); }
.jd-as-value-item { padding: 1.4rem 3rem; display: flex; flex-direction: column; align-items: center; gap: 0.3rem; }
.jd-as-value-item strong { font-size: 0.88rem; color: var(--gold-light); font-family: 'Shippori Mincho', serif; font-weight: 600; }
.jd-as-value-item span { font-size: 0.73rem; color: rgba(250,247,240,0.55); font-weight: 300; }
.jd-as-value-sep { width: 1px; height: 40px; background: rgba(201,168,76,0.2); }

/* 緊急バナー */
.jd-as-urgency { background: rgba(201,168,76,0.1); border-left: 4px solid var(--gold); padding: 1.2rem 6rem; }
.jd-as-urgency p { font-size: 0.83rem; color: var(--text-mid); font-weight: 300; }
.jd-as-urgency strong { color: var(--indigo); font-weight: 500; }

/* ── ロードマップ ── */
.jd-as-roadmap { margin-top: 3.5rem; }
.jd-as-road-label { font-size: 0.7rem; letter-spacing: 0.2em; color: var(--warm-gray); text-align: center; margin-bottom: 1.5rem; text-transform: uppercase; }
.jd-as-road-cards { display: flex; align-items: center; justify-content: center; gap: 0; flex-wrap: wrap; background: rgba(26,39,68,0.06); border: 1px solid rgba(26,39,68,0.1); }
.jd-as-road-card { padding: 2rem 1.5rem; text-align: center; flex: 1; min-width: 140px; border-right: 1px solid rgba(26,39,68,0.1); transition: background 0.3s; }
.jd-as-road-card:last-child { border-right: none; }
.jd-as-road-card:hover { background: var(--gold-pale); }
.jd-as-road-c1 { background: rgba(15,26,48,0.03); }
.jd-as-road-c2 { background: rgba(26,39,68,0.05); }
.jd-as-road-c3 { background: rgba(15,26,48,0.03); }
.jd-as-road-num { font-family: 'DM Serif Display', serif; font-size: 1.8rem; color: var(--gold); line-height: 1; margin-bottom: 0.5rem; }
.jd-as-road-name { font-family: 'Shippori Mincho', serif; font-size: 0.88rem; color: var(--indigo); font-weight: 600; line-height: 1.5; margin-bottom: 0.5rem; }
.jd-as-road-use { font-size: 0.68rem; color: var(--warm-gray); font-weight: 300; }
.jd-as-road-arrow { font-size: 1.2rem; color: var(--gold); padding: 0 0.5rem; flex-shrink: 0; }

/* 選ばれる理由グリッド */
.jd-as-strength-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 1px; background: rgba(26,39,68,0.1); margin-top: 1.5rem; }
.jd-as-strength-item { background: #fff; padding: 1.2rem 1.5rem; font-size: 0.8rem; color: var(--text-mid); font-weight: 300; line-height: 1.7; border-left: 3px solid transparent; transition: border-color 0.3s, background 0.3s; }
.jd-as-strength-item:hover { border-color: var(--gold); background: var(--gold-pale); }
.jd-as-strength-item::before { content: '✓ '; color: var(--gold); font-weight: 500; }

/* ── ツールセクション共通 ── */
.jd-as-tool-sec { position: relative; overflow: hidden; }

.jd-as-tool-header { display: flex; align-items: flex-start; gap: 2rem; padding-bottom: 2.5rem; border-bottom: 1px solid rgba(201,168,76,0.15); margin-bottom: 3rem; }
.jd-as-tool-header.jd-fade.jd-visible { border-bottom-color: rgba(201,168,76,0.15); }
.jd-as-tool-num { font-family: 'DM Serif Display', serif; font-size: 5rem; color: var(--gold); line-height: 1; min-width: 90px; }
.jd-as-tool-tag { font-size: 0.65rem; letter-spacing: 0.25em; text-transform: uppercase; margin-bottom: 0.6rem; font-weight: 400; }
.jd-as-tool-name { font-family: 'Shippori Mincho', serif; font-size: clamp(1.4rem, 2.2vw, 2rem); color: var(--cream); font-weight: 600; line-height: 1.4; margin-bottom: 0.8rem; }
.jd-as-tool-name small { font-size: 55%; color: var(--warm-gray); font-weight: 300; font-family: 'Noto Sans JP', sans-serif; }
.jd-as-tool-catch { font-size: 0.9rem; color: rgba(250,247,240,0.6); font-weight: 300; font-style: italic; font-family: 'Shippori Mincho', serif; }

/* 悩みボックス */
.jd-as-pain { background: rgba(255,255,255,0.04); border: 1px solid rgba(201,168,76,0.2); padding: 2rem 2.5rem; margin-bottom: 2.5rem; }
.jd-as-pain-light { background: rgba(26,39,68,0.04); border-color: rgba(26,39,68,0.12); }
.jd-as-pain-title { font-family: 'Shippori Mincho', serif; font-size: 0.95rem; color: var(--gold-light); font-weight: 500; margin-bottom: 1rem; }
.jd-as-pain-list { list-style: none; display: flex; flex-direction: column; gap: 0.6rem; }
.jd-as-pain-list li { font-size: 0.8rem; color: rgba(250,247,240,0.65); font-weight: 300; padding-left: 1.2rem; position: relative; line-height: 1.8; }
.jd-as-pain-list li::before { content: '・'; position: absolute; left: 0; color: var(--gold); }
.jd-as-pain-list-light li { color: var(--text-mid); }

/* 統計数値 */
.jd-as-tool-stats { display: grid; grid-template-columns: repeat(4,1fr); gap: 1.5px; background: rgba(201,168,76,0.15); margin-bottom: 2.5rem; }
.jd-as-tool-stats-light { background: rgba(26,39,68,0.1); }
.jd-as-tstat { background: rgba(15,26,48,0.6); padding: 2rem 1.5rem; text-align: center; }
.jd-as-tstat-light { background: #ffffff; }
.jd-as-tstat-num { display: block; font-family: 'DM Serif Display', serif; font-size: 2.5rem; color: var(--gold-light); line-height: 1; margin-bottom: 0.5rem; }
.jd-as-tstat-num small { font-size: 1rem; color: var(--gold); }
.jd-as-tstat-label { display: block; font-size: 0.72rem; color: rgba(250,247,240,0.5); font-weight: 300; line-height: 1.6; }

/* 詳細グリッド */
.jd-as-detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; margin-bottom: 2.5rem; }
.jd-as-detail-block { background: rgba(255,255,255,0.04); border: 1px solid rgba(201,168,76,0.15); padding: 2rem; }
.jd-as-detail-block-light { background: #ffffff; border-color: rgba(26,39,68,0.1); }
.jd-as-detail-block h4 { font-family: 'Shippori Mincho', serif; font-size: 0.9rem; color: var(--gold-light); margin-bottom: 0.8rem; font-weight: 500; }
.jd-as-detail-block-light h4 { color: var(--indigo); }
.jd-as-detail-block p { font-size: 0.78rem; color: rgba(250,247,240,0.6); line-height: 2; font-weight: 300; }
.jd-as-detail-block-light p { color: var(--text-mid); }

/* 用途タグ */
.jd-as-usage-row { display: flex; align-items: center; gap: 1rem; flex-wrap: wrap; margin-bottom: 2.5rem; }
.jd-as-usage-label { font-size: 0.7rem; letter-spacing: 0.15em; color: var(--gold); font-weight: 400; white-space: nowrap; }
.jd-as-usage-tags { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.jd-as-usage-tag { font-size: 0.72rem; padding: 0.35rem 0.9rem; background: rgba(201,168,76,0.1); border: 1px solid rgba(201,168,76,0.3); color: var(--gold-light); font-weight: 300; }
.jd-as-usage-tag-light { background: rgba(26,39,68,0.06); border-color: rgba(26,39,68,0.2); color: var(--indigo); }

/* 活用シーン */
.jd-as-cases { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5px; background: rgba(201,168,76,0.1); }
.jd-as-cases-light { background: rgba(26,39,68,0.08); }
.jd-as-case { background: rgba(15,26,48,0.5); padding: 2rem; transition: background 0.3s; }
.jd-as-case:hover { background: rgba(26,39,68,0.7); }
.jd-as-case-light { background: #ffffff; }
.jd-as-case-light:hover { background: var(--gold-pale); }
.jd-as-case h5 { font-family: 'Shippori Mincho', serif; font-size: 0.9rem; color: var(--gold-light); margin-bottom: 0.7rem; font-weight: 500; line-height: 1.5; }
.jd-as-case-light h5 { color: var(--indigo); }
.jd-as-case p { font-size: 0.77rem; color: rgba(250,247,240,0.55); line-height: 2; font-weight: 300; }
.jd-as-case-light p { color: var(--text-mid); }
.jd-as-case-result { font-size: 0.72rem; color: var(--gold); margin-top: 0.8rem; font-weight: 400; border-top: 1px solid rgba(201,168,76,0.2); padding-top: 0.6rem; }
.jd-as-case-result-light { color: var(--indigo); border-color: rgba(26,39,68,0.1); }

/* ── 信頼グリッド ── */
.jd-as-trust-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 1.5rem; margin-top: 3rem; }
.jd-as-trust-card { background: var(--cream); border: 1px solid rgba(26,39,68,0.1); padding: 2.5rem; transition: border-color 0.3s, box-shadow 0.3s; }
.jd-as-trust-card:hover { border-color: var(--gold); box-shadow: 0 4px 24px rgba(201,168,76,0.1); }
.jd-as-trust-icon { font-size: 2rem; margin-bottom: 1rem; }
.jd-as-trust-card h4 { font-family: 'Shippori Mincho', serif; font-size: 1rem; color: var(--indigo); margin-bottom: 0.8rem; font-weight: 500; }
.jd-as-trust-card p { font-size: 0.8rem; color: var(--text-mid); line-height: 2; font-weight: 300; }

/* ── 無料相談タグ ── */
.jd-as-free-tags { display: flex; justify-content: center; flex-wrap: wrap; gap: 1.5rem; margin: 1.5rem 0; }
.jd-as-free-tags span { font-size: 0.78rem; color: rgba(250,247,240,0.6); font-weight: 300; }

/* お問い合わせボタン */
.jd-contact-btn-wrap { text-align: center; margin-top: 2.5rem; }
.jd-contact-btn { display: inline-block; padding: 1.3rem 4.5rem; background: var(--gold); color: var(--indigo-deep); font-family: 'Noto Sans JP', sans-serif; font-size: 0.95rem; font-weight: 500; letter-spacing: 0.2em; text-decoration: none; transition: background 0.3s, transform 0.2s; }
.jd-contact-btn:hover { background: var(--gold-light); transform: translateY(-2px); }

/* ── アセスメントページ レスポンシブ ── */
@media (max-width: 1200px) {
  .jd-as-tool-stats { grid-template-columns: repeat(2,1fr); }
  .jd-as-cases, .jd-as-trust-grid { grid-template-columns: 1fr 1fr; }
  .jd-as-road-cards { gap: 0; }
  .jd-as-urgency { padding: 1.2rem 3rem; }
}
@media (max-width: 768px) {
  .jd-as-tool-header { flex-direction: column; gap: 1rem; }
  .jd-as-tool-num { font-size: 3rem; min-width: auto; }
  .jd-as-tool-stats, .jd-as-cases, .jd-as-detail-grid, .jd-as-trust-grid, .jd-as-strength-grid { grid-template-columns: 1fr; }
  .jd-as-road-cards { flex-direction: column; }
  .jd-as-road-card { border-right: none; border-bottom: 1px solid rgba(26,39,68,0.1); }
  .jd-as-road-arrow { transform: rotate(90deg); }
  .jd-as-value-strip { flex-direction: column; }
  .jd-as-value-sep { width: 60px; height: 1px; }
  .jd-as-urgency { padding: 1.2rem 1.5rem; }
}
/* ─── セクション背景 ─── */
.jd-sec-tools {
  background: #fafaf8;
}
 
/* ─── リスト全体 ─── */
.jd-tools-list {
  margin-top: 3rem;
}
 
/* ─── 各行 ─── */
.jd-tool-row {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 0 2.5rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid rgba(40, 35, 20, 0.10);
  align-items: start;
}
.jd-tool-row:first-child {
  border-top: 1px solid rgba(40, 35, 20, 0.10);
}
 
/* ─── 左カラム ─── */
.jd-tool-left {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-top: 0.1rem;
}
.jd-tool-index {
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 2.8rem;
  line-height: 1;
  font-style: italic;
  color: rgba(40, 35, 20, 0.15);
  letter-spacing: -0.02em;
}
.jd-tool-badge {
  display: inline-block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #6b5c3e;
  border: 1px solid rgba(107, 92, 62, 0.35);
  border-radius: 2px;
  padding: 0.25rem 0.6rem;
  width: fit-content;
}
 
/* ─── 右カラム ─── */
.jd-tool-right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.jd-tool-catch {
  font-family: 'Shippori Mincho', 'Georgia', serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: #1e1a10;
  line-height: 1.5;
  margin: 0;
}
.jd-tool-desc {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.875rem;
  line-height: 1.95;
  color: #4a4030;
  margin: 0;
}
 
/* ─── タグ（ピル） ─── */
.jd-tool-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.15rem;
}
.jd-tool-pill {
  display: inline-block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #6b5c3e;
  background: rgba(107, 92, 62, 0.06);
  border: 1px solid rgba(107, 92, 62, 0.18);
  border-radius: 2px;
  padding: 0.2rem 0.6rem;
}
 
/* ─── 末尾のクロージング ─── */
.jd-tools-closing {
  margin-top: 2.5rem;
  padding: 1.5rem 2rem;
  border-top: 1px solid rgba(40, 35, 20, 0.10);
  text-align: center;
}
.jd-tools-closing p {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.85rem;
  line-height: 1.9;
  color: #6b5c3e;
  margin: 0;
}
 
/* ─── レスポンシブ ─── */
@media (max-width: 768px) {
  .jd-tool-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding: 2rem 0;
  }
  .jd-tool-left {
    flex-direction: row;
    align-items: baseline;
    gap: 1rem;
  }
  .jd-tool-index {
    font-size: 2rem;
  }
}
.jd-sec-tools {
  background: #fafaf8;
}
 
.jd-tools-list {
  margin-top: 3rem;
}
 
.jd-tool-row {
  display: grid;
  grid-template-columns: 180px 1fr;
  gap: 0 2.5rem;
  padding: 2.5rem 0;
  border-bottom: 1px solid rgba(40, 35, 20, 0.10);
  align-items: start;
}
.jd-tool-row:first-child {
  border-top: 1px solid rgba(40, 35, 20, 0.10);
}
 
.jd-tool-left {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
  padding-top: 0.1rem;
}
.jd-tool-index {
  font-family: 'DM Serif Display', Georgia, serif;
  font-size: 2.8rem;
  line-height: 1;
  font-style: italic;
  color: rgba(40, 35, 20, 0.15);
  letter-spacing: -0.02em;
}
.jd-tool-badge {
  display: inline-block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  color: #6b5c3e;
  border: 1px solid rgba(107, 92, 62, 0.35);
  border-radius: 2px;
  padding: 0.25rem 0.6rem;
  width: fit-content;
}
 
.jd-tool-right {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.jd-tool-catch {
  font-family: 'Shippori Mincho', 'Georgia', serif;
  font-size: 1.15rem;
  font-weight: 600;
  color: #1e1a10;
  line-height: 1.5;
  margin: 0;
}
.jd-tool-desc {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.875rem;
  line-height: 1.95;
  color: #4a4030;
  margin: 0;
}
 
.jd-tool-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.15rem;
}
.jd-tool-pill {
  display: inline-block;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.72rem;
  font-weight: 400;
  letter-spacing: 0.04em;
  color: #6b5c3e;
  background: rgba(107, 92, 62, 0.06);
  border: 1px solid rgba(107, 92, 62, 0.18);
  border-radius: 2px;
  padding: 0.2rem 0.6rem;
}
 
.jd-tools-closing {
  margin-top: 2.5rem;
  padding: 1.5rem 2rem;
  border-top: 1px solid rgba(40, 35, 20, 0.10);
  text-align: center;
}
.jd-tools-closing p {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.875rem;
  line-height: 1.9;
  color: #6b5c3e;
  margin: 0;
}
 
@media (max-width: 768px) {
  .jd-tool-row {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    padding: 2rem 0;
  }
  .jd-tool-left {
    flex-direction: row;
    align-items: baseline;
    gap: 1rem;
  }
  .jd-tool-index {
    font-size: 2rem;
  }
}
/* ─── カテゴリーブロック ─── */
.jd-vc-cat {
  margin-top: 2.5rem;
}
 
/* ─── カテゴリーラベル行 ─── */
.jd-vc-cat-label {
  display: flex;
  align-items: center;
  gap: 1rem;
  margin-bottom: 1.25rem;
}
.jd-vc-cat-label span {
  font-family: 'Shippori Mincho', 'Georgia', serif;
  font-size: 0.8rem;
  font-weight: 600;
  color: #6b5c3e;
  letter-spacing: 0.1em;
  white-space: nowrap;
}
.jd-vc-cat-label::after {
  content: '';
  display: block;
  height: 1px;
  flex: 1;
  background: rgba(107, 92, 62, 0.2);
}
 
/* ─── カードグリッド ─── */
.jd-vc-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
  gap: 1rem;
}
 
/* ─── カード ─── */
.jd-vc-card {
  background: #ffffff;
  border: 1px solid rgba(107, 92, 62, 0.12);
  border-radius: 4px;
  padding: 1.25rem 1.25rem 1.1rem;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
 
/* ─── 役職ラベル ─── */
.jd-vc-role {
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  color: #8a7455;
  border: 1px solid rgba(138, 116, 85, 0.28);
  border-radius: 2px;
  padding: 0.2rem 0.55rem;
  width: fit-content;
}
 
/* ─── 引用文 ─── */
.jd-vc-quote {
  font-family: 'Shippori Mincho', 'Georgia', serif;
  font-size: 0.875rem;
  line-height: 1.9;
  color: #2c2416;
  margin: 0;
  padding-left: 1rem;
  border-left: 2px solid rgba(107, 92, 62, 0.22);
}
 
/* ─── レスポンシブ ─── */
@media (max-width: 768px) {
  .jd-vc-grid {
    grid-template-columns: 1fr;
  }
}
/* ── 会員専用ボタン（HEROエリア内） ── */
.jd-hero-member-wrap {
  margin-top: 16px;
}

.jd-hero-member-btn {
  display: inline-block;
  padding: 13px 32px;
  border: 2px solid rgba(255, 255, 255, 0.55);
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 14px;
  font-weight: 600;
  font-family: 'Noto Sans JP', sans-serif;
  text-decoration: none;
  letter-spacing: 0.06em;
  background: rgba(255, 255, 255, 0.08);
  backdrop-filter: blur(4px);
  transition: all 0.25s;
}

.jd-hero-member-btn:hover {
  background: rgba(255, 255, 255, 0.18);
  border-color: rgba(255, 255, 255, 0.85);
  color: #ffffff;
  transform: translateY(-2px);
}
/* ── ツールロゴ（テキスト代用・バッジ左横） ── */
.jd-tool-badge-wrap {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.jd-tool-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 10px;
  height: 10px;
  border-radius: 5px;
  font-family: 'DM Serif Display', serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  flex-shrink: 0;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  text-align: center;
}

.jd-tool-logo em {
  font-style: normal;
  opacity: 0.7;
}

/* 各ツールの個別カラー */
.jd-logo-saville {
  background: linear-gradient(135deg, #1a3a5c, #2a5a8c);
}

.jd-logo-cs {
  background: linear-gradient(135deg, #b06a00, #c9922a);
}

.jd-logo-via {
  background: linear-gradient(135deg, #1a6b4a, #2a9b6a);
}

.jd-logo-iso {
  background: linear-gradient(135deg, #2a2a4a, #4a4a7a);
}
```

---

## 完成イメージ
```
┌────────────────────────┐
│   01                   │
│                        │
│  [SA] Saville          │  ← ロゴ正方形 + バッジテキスト横並び
│       Assessment       │
└────────────────────────┘