/*
Theme Name: 安城南ライオンズクラブ
Theme URI: https://www.amlc.jp/
Author: 株式会社フライハイト
Description: 安城南ライオンズクラブ 公式サイト
Version: 1.0.0
*/

@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@400;500;700;900&family=Noto+Sans+JP:wght@300;400;500;700&family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&display=swap');
:root{--navy:#002A6E;--navy-d:#001540;--navy-m:#0A3A8C;--gold:#B8922A;--gold-l:#D4AE54;--gold-xl:#EDD280;--white:#fff;--cream:#F8F6F1;--ink:#111218;--muted:#6B6B78;--border:#E2E0D8;--head:'Zen Kaku Gothic New','Noto Sans JP',sans-serif;--body:'Noto Sans JP',sans-serif;--serif:'Cormorant Garamond',Georgia,serif;--ease:cubic-bezier(0.4,0,0.2,1);--header-h:84px}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--white);font-size:18px;line-height:1.85;-webkit-font-smoothing:antialiased}
.hd-top{position:sticky;top:0;z-index:200;background:rgba(255,255,255,0.97);backdrop-filter:blur(12px);border-bottom:1px solid var(--border);transition:box-shadow 0.3s}
.hd-top.scrolled{box-shadow:0 2px 24px rgba(0,42,110,0.09)}
.hd-inner{max-width:1160px;margin:0 auto;padding:0 40px;height:84px;display:flex;align-items:center;gap:20px}
.lc-logo{display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0}
.lc-logo img{width:54px;height:auto;flex-shrink:0}
.lc-name-ja{font-family:var(--head);font-size:22px;font-weight:700;color:var(--navy);letter-spacing:.03em;display:block}
.lc-name-en{font-size:12px;font-weight:300;color:var(--muted);letter-spacing:.14em;text-transform:uppercase;display:block}
.hd-space{flex:1}
.tel-btn{display:flex;align-items:center;gap:7px;color:var(--navy);text-decoration:none;font-size:20px;font-weight:700;letter-spacing:.05em;padding:0 22px;border-left:1px solid var(--border);border-right:1px solid var(--border);height:84px;transition:color .2s;white-space:nowrap}
.tel-btn:hover{color:var(--gold)}
.contact-cta{background:var(--navy);color:var(--white);text-decoration:none;font-family:var(--head);font-size:17px;font-weight:700;letter-spacing:.07em;padding:0 26px;height:54px;display:flex;align-items:center;gap:10px;transition:background .2s;white-space:nowrap;margin-left:8px}
.contact-cta:hover{background:var(--gold)}
.hd-nav-bar{background:var(--navy);position:sticky;top:84px;z-index:199}
.nav-inner{max-width:1160px;margin:0 auto;padding:0 40px;display:flex;justify-content:center;list-style:none}
.nav-inner li a{display:block;color:rgba(255,255,255,.85);text-decoration:none;font-size:15px;font-weight:500;padding:14px 22px;letter-spacing:.06em;position:relative;transition:color .2s}
.nav-inner li a::after{content:"";position:absolute;bottom:0;left:22px;right:22px;height:2px;background:var(--gold);transform:scaleX(0);transition:transform .22s var(--ease)}
.nav-inner li a:hover,.nav-inner li a.active{color:var(--white)}
.nav-inner li a:hover::after,.nav-inner li a.active::after{transform:scaleX(1)}
.nav-inner li a.active{color:var(--gold-xl)}
.hbg{display:none;flex-direction:column;justify-content:center;gap:5px;width:40px;height:40px;cursor:pointer;flex-shrink:0;padding:6px;margin-left:6px;background:none;border:none}
.hbg span{display:block;height:2px;background:var(--navy);border-radius:2px;transition:transform .28s var(--ease),opacity .2s}
.hbg span:nth-child(3){width:65%}
.hbg.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hbg.open span:nth-child(2){opacity:0;transform:scaleX(0)}
.hbg.open span:nth-child(3){width:100%;transform:translateY(-7px) rotate(-45deg)}
.mob-drawer{display:none;position:fixed;top:0;left:0;right:0;bottom:0;padding-top:calc(var(--header-h,84px) + 1rem);background:var(--navy-d);z-index:198;flex-direction:column;overflow-y:auto;-webkit-overflow-scrolling:touch;transform:translateX(100%);transition:transform .32s var(--ease)}
.mob-drawer.open{transform:translateX(0)}
.mob-nav-list{list-style:none;padding:16px 0;border-bottom:1px solid rgba(255,255,255,.08)}
.mob-nav-list li a{display:block;padding:16px 32px;color:rgba(255,255,255,.85);text-decoration:none;font-family:var(--head);font-size:16px;font-weight:500;letter-spacing:.08em;border-bottom:1px solid rgba(255,255,255,.05);transition:background .15s}
.mob-nav-list li a:hover{background:rgba(255,255,255,.05);color:var(--gold-xl)}
.mob-tel{display:flex;align-items:center;gap:8px;margin:24px 32px 8px;color:var(--gold-l);text-decoration:none;font-size:18px;font-weight:700;letter-spacing:.06em}
.mob-contact{display:block;margin:12px 32px 32px;background:var(--gold);color:var(--navy-d);text-align:center;padding:14px;font-family:var(--head);font-size:14px;font-weight:700;letter-spacing:.1em;text-decoration:none}
.pg-hero{background:var(--navy-d);padding:52px 0 48px;position:relative;overflow:hidden}
.pg-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(0,42,110,.9) 0%,rgba(0,21,64,.75) 100%)}
.pg-hero-inner{max-width:1160px;margin:0 auto;padding:0 40px;position:relative;z-index:2}
.breadcrumb{display:flex;align-items:center;gap:8px;font-size:12px;color:rgba(255,255,255,.5);letter-spacing:.08em;margin-bottom:14px}
.breadcrumb a{color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s}
.breadcrumb a:hover{color:var(--gold-l)}
.breadcrumb span{color:var(--gold-l)}
.pg-hero-eyebrow{font-size:11px;font-weight:300;letter-spacing:.3em;text-transform:uppercase;color:var(--gold-l);margin-bottom:12px;display:flex;align-items:center;gap:10px}
.pg-hero-eyebrow::before{content:"";width:24px;height:1px;background:var(--gold)}
.pg-hero-title{font-family:var(--head);font-size:60px;font-weight:900;color:var(--white);letter-spacing:-.01em;line-height:1.15;margin-bottom:8px}
.pg-hero-title em{font-style:normal;color:var(--gold-xl)}
.pg-hero-desc{font-size:14px;font-weight:300;color:rgba(255,255,255,.7);line-height:1.8}
.pg-content{max-width:1160px;margin:0 auto;padding:64px 48px 88px}
.with-sidebar{display:grid;grid-template-columns:1fr;gap:0;min-width:0}
.with-sidebar > main,.with-sidebar > .entry-content{min-width:0;overflow:hidden}
.sec-head{margin-bottom:28px;padding-bottom:14px;border-bottom:2px solid var(--navy)}
.sec-head h2{font-family:var(--head);font-size:24px;font-weight:700;color:var(--navy);letter-spacing:.02em;display:flex;align-items:center;gap:12px}
.sec-head h2::before{content:"";width:4px;height:24px;background:var(--gold);border-radius:2px;flex-shrink:0}
.sec-head-en{font-family:var(--serif);font-size:12px;color:var(--gold);letter-spacing:.15em;text-transform:uppercase;font-style:italic;display:block;margin-top:3px;padding-left:16px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:8px}
.card-grid-2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--white);border:1px solid var(--border);overflow:hidden;transition:box-shadow .25s var(--ease)}
.card:hover{box-shadow:0 4px 24px rgba(0,42,110,.1)}
.card-img{height:160px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.card-body{padding:18px 20px}
.card-date{font-size:11px;color:var(--gold);font-weight:700;letter-spacing:.08em;margin-bottom:6px}
.card-title{font-family:var(--head);font-size:15px;font-weight:700;color:var(--navy);line-height:1.4;margin-bottom:8px}
.card-text{font-size:13px;color:var(--muted);line-height:1.7}
.card-tag{display:inline-block;background:var(--navy);color:var(--white);font-size:10px;font-weight:700;padding:2px 8px;letter-spacing:.08em;margin-bottom:10px}
.card-tag.gold{background:var(--gold);color:var(--navy-d)}
.info-box{background:var(--cream);border-left:4px solid var(--gold);padding:20px 24px;margin-bottom:20px}
.info-box h3{font-family:var(--head);font-size:19px;font-weight:700;color:var(--navy);margin-bottom:8px}
.info-box p{font-size:18px;color:var(--ink);line-height:1.85}
.steps{display:flex;flex-direction:column}
.step{display:grid;grid-template-columns:80px 1fr;gap:24px;padding:24px 0;border-bottom:1px solid var(--border);align-items:start}
.step:last-child{border-bottom:none}
.step-num{width:56px;height:56px;background:var(--navy);color:var(--gold-xl);font-family:var(--head);font-size:22px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.step-body h3{font-family:var(--head);font-size:20px;font-weight:700;color:var(--navy);margin-bottom:6px}
.step-body p{font-size:18px;color:var(--muted);line-height:1.85}
.faq-item{border-bottom:1px solid var(--border);padding:20px 0}
.faq-q{font-family:var(--head);font-size:18px;font-weight:700;color:var(--navy);display:flex;gap:12px;align-items:baseline;margin-bottom:10px}
.faq-q::before{content:"Q.";color:var(--gold);font-size:20px;flex-shrink:0}
.faq-a{font-size:18px;color:var(--muted);line-height:1.85;padding-left:28px;display:flex;gap:12px}
.faq-a::before{content:"A.";color:var(--navy);font-weight:700;flex-shrink:0}
.info-table{width:100%;border-collapse:collapse;font-size:14px}
.info-table th,.info-table td{padding:12px 16px;border:1px solid var(--border);text-align:left;vertical-align:top}
.info-table th{background:var(--navy);color:var(--white);font-weight:700;font-family:var(--head);letter-spacing:.05em;width:200px}
.info-table tr:nth-child(even) td{background:var(--cream)}
.form-group{margin-bottom:20px}
.form-label{display:block;font-size:13px;font-weight:700;color:var(--navy);margin-bottom:6px;letter-spacing:.04em}
.form-label .req{background:var(--gold);color:var(--navy-d);font-size:10px;font-weight:700;padding:1px 6px;margin-left:6px}
.form-input,.form-textarea,.form-select{width:100%;border:1px solid var(--border);padding:11px 14px;font-size:14px;font-family:var(--body);background:var(--white);color:var(--ink);transition:border-color .2s;outline:none;border-radius:0}
.form-input:focus,.form-textarea:focus,.form-select:focus{border-color:var(--navy)}
.form-textarea{height:160px;resize:vertical}
.form-btn{display:inline-flex;align-items:center;gap:12px;background:var(--navy);color:var(--white);font-family:var(--head);font-size:14px;font-weight:700;letter-spacing:.1em;padding:16px 48px;border:none;cursor:pointer;transition:background .2s}
.form-btn:hover{background:var(--gold)}
.sb{display:flex;flex-direction:column;gap:24px}
.sb-block{border:1px solid var(--border);overflow:hidden}
.sb-head{background:var(--navy);color:var(--white);padding:12px 18px;font-family:var(--head);font-size:14px;font-weight:700;letter-spacing:.06em}
.sb-body{padding:16px 18px}
.sb-link-list{list-style:none;display:flex;flex-direction:column}
.sb-link-list li a{display:flex;align-items:center;gap:8px;padding:10px 0;border-bottom:1px solid var(--border);color:var(--ink);text-decoration:none;font-size:13.5px;transition:color .2s}
.sb-link-list li:last-child a{border-bottom:none}
.sb-link-list li a::before{content:"›";color:var(--gold);font-size:16px;font-weight:700}
.sb-link-list li a:hover{color:var(--navy)}
.sb-news{display:flex;flex-direction:column;gap:12px}
.sb-news-item{padding:10px 0;border-bottom:1px solid var(--border);font-size:12.5px}
.sb-news-item:last-child{border-bottom:none}
.sb-news-date{font-size:11px;color:var(--gold);font-weight:700;margin-bottom:3px}
.cta-banner{background:var(--navy);padding:48px 40px;text-align:center;margin-top:0}
.cta-banner h2{font-family:var(--head);font-size:32px;font-weight:700;color:var(--white);margin-bottom:10px}
.cta-banner p{font-size:18px;color:rgba(255,255,255,.7);margin-bottom:24px;line-height:1.85}
.cta-btn{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--navy-d);font-family:var(--head);font-size:14px;font-weight:700;letter-spacing:.1em;padding:15px 36px;text-decoration:none;transition:background .2s}
.cta-btn:hover{background:var(--gold-l)}
.outline-btn{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--navy);color:var(--navy);padding:11px 28px;font-size:13px;font-weight:700;letter-spacing:.1em;text-decoration:none;transition:all .2s}
.outline-btn:hover{background:var(--navy);color:var(--white)}
.footer{background:var(--navy-d);border-top:3px solid var(--gold)}
.ft-main{max-width:1160px;margin:0 auto;padding:48px 40px 36px;display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:36px;border-bottom:1px solid rgba(255,255,255,.06)}
.ft-brand-name{font-family:var(--head);font-size:20px;font-weight:700;color:var(--white);margin-bottom:10px;display:block}
.ft-desc{font-size:16px;font-weight:300;color:rgba(255,255,255,.38);line-height:1.9;margin-bottom:16px}
.ft-tel{display:flex;align-items:center;gap:6px;color:var(--gold-l);text-decoration:none;font-size:20px;font-weight:700;letter-spacing:.06em}
.ft-col-h{font-size:13px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;padding-bottom:8px;border-bottom:1px solid rgba(200,160,64,.18)}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:8px}
.ft-col ul a{font-size:16px;font-weight:300;color:rgba(255,255,255,.5);text-decoration:none;transition:color .2s;display:block}
.ft-col ul a:hover{color:var(--gold-l)}
.ext-link{display:flex;align-items:center;gap:4px;font-size:15px}
.ft-bottom{max-width:1160px;margin:0 auto;padding:16px 40px;display:flex;justify-content:space-between;font-size:13px;font-weight:300;color:rgba(255,255,255,.2);letter-spacing:.04em}
@media(max-width:860px){
  .hbg{display:flex}.hd-nav-bar{display:none}.tel-btn,.contact-cta{display:none}.mob-drawer{display:flex}
  .pg-hero-title{font-size:42px}.with-sidebar{grid-template-columns:1fr}.card-grid{grid-template-columns:1fr 1fr}
  .ft-main{grid-template-columns:1fr 1fr;padding:32px 20px 24px}.ft-bottom{flex-direction:column;gap:4px;text-align:center;padding:14px 20px}
  .pg-content{padding:36px 24px 56px}.hd-inner,.nav-inner{padding:0 20px}
}
@media(max-width:480px){.lc-name-en{display:none}.card-grid{grid-template-columns:1fr}.ft-main{grid-template-columns:1fr}}


/* ═══ フロントページ専用スタイル ═══ */

:root {
  --navy:   #002A6E;
  --navy-d: #001540;
  --navy-m: #0A3A8C;
  --gold:   #B8922A;
  --gold-l: #D4AE54;
  --gold-xl:#EDD280;
  --white:  #FFFFFF;
  --cream:  #F8F6F1;
  --ink:    #111218;
  --muted:  #6B6B78;
  --border: #E2E0D8;
  --ease:   cubic-bezier(0.4,0,0.2,1);
  --serif:  'Cormorant Garamond', Georgia, serif;
  --head:   'Zen Kaku Gothic New','Noto Sans JP',sans-serif;
  --body:   'Noto Sans JP',sans-serif;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:var(--body);color:var(--ink);background:var(--white);font-size:18px;line-height:1.85;-webkit-font-smoothing:antialiased}

/* ══ HEADER TOP BAR ══ */
.hd-top {
  position: sticky;
  top: 0;
  z-index: 200;
  background: rgba(255,255,255,0.97);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--border);
  transition: box-shadow 0.3s var(--ease);
}
.hd-top.scrolled { box-shadow: 0 2px 24px rgba(0,42,110,0.09); }

.hd-top-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
  height: 70px;
  display: flex;
  align-items: center;
  gap: 24px;
}

/* Logo */
.lc-logo { display:flex;align-items:center;gap:14px;text-decoration:none;flex-shrink:0; }
.lc-emblem { width:52px;height:52px;flex-shrink:0; }
.lc-name-ja { font-family:var(--head);font-size:22px;font-weight:700;color:var(--navy);letter-spacing:0.03em;display:block; }
.lc-name-en { font-size:12px;font-weight:300;color:var(--muted);letter-spacing:0.14em;text-transform:uppercase;display:block; }

.hd-spacer { flex:1; }

.tel-btn {
  display:flex;align-items:center;gap:8px;
  color:var(--navy);text-decoration:none;
  font-size:20px;font-weight:700;letter-spacing:0.05em;
  padding:0 22px;
  border-left:1px solid var(--border);
  border-right:1px solid var(--border);
  height:84px;
  transition:color 0.2s;
  white-space:nowrap;
}
.tel-btn svg{width:14px;height:14px;fill:currentColor}
.tel-btn:hover{color:var(--gold)}

.contact-cta {
  background:var(--navy);color:var(--white);
  text-decoration:none;font-family:var(--head);
  font-size:17px;font-weight:700;letter-spacing:0.07em;
  padding:0 26px;height:54px;
  display:flex;align-items:center;gap:10px;
  transition:background 0.2s;white-space:nowrap;margin-left:8px;
}
.contact-cta svg{width:20px;height:20px;fill:currentColor;flex-shrink:0}
.contact-cta:hover{background:var(--gold)}

/* ══ NAV BAR (2nd row) ══ */
.hd-nav-bar {
  background: var(--navy);
  position: sticky;
  top: 84px;
  z-index: 199;
}
.hd-nav-inner {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 40px;
  display: flex;
  justify-content: center;
  list-style: none;
}
.hd-nav-inner li a {
  display:block;
  color:rgba(255,255,255,0.85);
  text-decoration:none;
  font-size:13px;font-weight:500;
  padding:12px 26px;
  letter-spacing:0.1em;
  position:relative;
  transition:color 0.2s;
}
.hd-nav-inner li a::after {
  content:"";position:absolute;
  bottom:0;left:26px;right:26px;
  height:2px;background:var(--gold);
  transform:scaleX(0);
  transition:transform 0.22s var(--ease);
}
.hd-nav-inner li a:hover{color:var(--white)}
.hd-nav-inner li a:hover::after{transform:scaleX(1)}

/* ══ HERO ══ */
.hero {
  position:relative;
  height:calc(100vh - 132px);
  min-height:640px;max-height:920px;
  overflow:hidden;background:var(--navy-d);
}
.slide{position:absolute;inset:0;opacity:0;transition:opacity 1.4s var(--ease);pointer-events:none}
.slide.active{opacity:1;pointer-events:auto}

/* ── 300%→100% ドラマティックズームアウト（5秒） ── */
@keyframes kb-d1 {
  0%   { transform: scale(3.0);                   filter: brightness(0.30) blur(10px) saturate(0.2); }
  30%  {                                           filter: brightness(0.60) blur(3px)  saturate(0.70); }
  100% { transform: scale(1.0);                   filter: brightness(0.75) blur(0px)  saturate(0.88); }
}
@keyframes kb-d2 {
  0%   { transform: scale(3.0) translateX(-1.5%); filter: brightness(0.30) blur(10px) saturate(0.2); }
  30%  {                                           filter: brightness(0.60) blur(3px)  saturate(0.70); }
  100% { transform: scale(1.0) translateX(0);     filter: brightness(0.75) blur(0px)  saturate(0.88); }
}
@keyframes kb-d3 {
  0%   { transform: scale(2.8) translateX(1.5%);  filter: brightness(0.30) blur(10px) saturate(0.2); }
  30%  {                                           filter: brightness(0.60) blur(3px)  saturate(0.70); }
  100% { transform: scale(1.0) translateX(0);     filter: brightness(0.75) blur(0px)  saturate(0.88); }
}
@keyframes kb-d4 {
  0%   { transform: scale(3.0) translateY(-2%);   filter: brightness(0.30) blur(10px) saturate(0.2); }
  30%  {                                           filter: brightness(0.60) blur(3px)  saturate(0.70); }
  100% { transform: scale(1.0) translateY(0);     filter: brightness(0.75) blur(0px)  saturate(0.88); }
}

.slide.s1.active .sl-photo-img { animation: kb-d1 5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.slide.s2.active .sl-photo-img { animation: kb-d2 5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.slide.s3.active .sl-photo-img { animation: kb-d3 5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
.slide.s4.active .sl-photo-img { animation: kb-d4 5s cubic-bezier(0.16, 1, 0.3, 1) forwards; }

/* ── スライドテキスト フェードアップ ── */
@keyframes sl-fadein-up {
  from { opacity: 0; transform: translateY(22px); }
  to   { opacity: 1; transform: translateY(0); }
}
.slide.active .sl-eyebrow { animation: sl-fadein-up 0.7s 0.25s both ease-out; }
.slide.active .sl-h1       { animation: sl-fadein-up 0.8s 0.45s both ease-out; }
.slide.active .sl-p        { animation: sl-fadein-up 0.7s 0.65s both ease-out; }
.slide.active .sl-cta      { animation: sl-fadein-up 0.7s 0.85s both ease-out; }

.sl-photo{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden}
.sl-photo-img{width:100%;height:100%;display:flex;align-items:center;justify-content:center;position:relative}
/* スライド背景はACFフィールドのインラインスタイルで設定 */
.ph-placeholder{display:flex;flex-direction:column;align-items:center;gap:16px;color:rgba(255,255,255,0.22);font-size:12px;letter-spacing:0.1em;text-transform:uppercase}
.ph-icon{width:80px;height:80px;border:1px solid rgba(255,255,255,0.12);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:36px;opacity:0.35}

/* 斜めセパレーターを廃止（全幅対応） */
.sl-photo::before{display:none}
/* 全幅グラジェントオーバーレイ：左側を暗くしてテキスト可読性を確保 */
.sl-grad{position:absolute;inset:0;background:linear-gradient(to right,rgba(0,8,36,0.92) 0%,rgba(0,12,44,0.78) 28%,rgba(0,12,44,0.48) 52%,rgba(0,8,36,0.18) 100%);z-index:1}

.sl-city{position:absolute;bottom:0;left:0;right:0;height:110px;z-index:3;opacity:0.55}

.sl-copy{position:absolute;left:0;top:0;bottom:0;width:58%;z-index:5;display:flex;flex-direction:column;justify-content:center;padding:0 80px}
.sl-eyebrow{font-size:13px;font-weight:300;letter-spacing:0.3em;text-transform:uppercase;color:var(--gold-l);margin-bottom:20px;display:flex;align-items:center;gap:12px}
.sl-eyebrow::before{content:"";display:block;width:32px;height:1px;background:var(--gold)}
.sl-h1{font-family:var(--head);font-size:64px;font-weight:900;color:var(--white);line-height:1.15;letter-spacing:-0.02em;margin-bottom:22px}
.sl-h1 em{font-style:normal;color:var(--gold-xl)}
.sl-p{font-size:18px;font-weight:300;color:rgba(255,255,255,0.75);line-height:1.85;max-width:480px;margin-bottom:38px}
/* 作業1・2: PC幅でスライドタイトル・サブテキストを1行化 */
@media(min-width:769px){
  .sl-h1{white-space:nowrap;font-size:clamp(2rem,3.5vw,3.5rem)}
  .sl-p{white-space:nowrap}
}
.sl-cta{display:inline-flex;align-items:center;gap:14px;background:transparent;color:var(--white);border:1px solid rgba(255,255,255,0.45);font-family:var(--head);font-size:15px;font-weight:700;letter-spacing:0.12em;padding:16px 32px;text-decoration:none;cursor:pointer;transition:background 0.25s,border-color 0.25s,color 0.25s;align-self:flex-start;position:relative;overflow:hidden}
.sl-cta::before{content:"";position:absolute;inset:0;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform 0.28s var(--ease);z-index:-1}
.sl-cta:hover{border-color:var(--gold);color:var(--navy-d)}
.sl-cta:hover::before{transform:scaleX(1)}
.sl-arr{width:20px;height:1px;background:currentColor;position:relative;transition:width 0.2s}
.sl-arr::after{content:"";position:absolute;right:0;top:-3px;width:7px;height:7px;border-top:1px solid currentColor;border-right:1px solid currentColor;transform:rotate(45deg)}
.sl-cta:hover .sl-arr{width:28px}

.we-serve{position:absolute;bottom:42px;right:48px;z-index:6;font-family:var(--serif);font-size:13px;font-style:italic;color:var(--gold-l);letter-spacing:0.25em;text-transform:uppercase;opacity:0.75;display:flex;align-items:center;gap:10px}
.we-serve::before{content:"";width:28px;height:1px;background:var(--gold)}

.h-ctrl{position:absolute;bottom:38px;left:64px;z-index:10;display:flex;align-items:center;gap:20px}
.h-dots{display:flex;gap:6px}
.hd-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,0.28);cursor:pointer;transition:background 0.3s,transform 0.3s;border:1px solid rgba(255,255,255,0.38)}
.hd-dot.active{background:var(--gold);transform:scale(1.4);border-color:var(--gold)}
.h-prg{font-size:11px;color:rgba(255,255,255,0.38);font-weight:300;letter-spacing:0.1em}
.h-prg strong{color:var(--gold-l);font-weight:500}
.h-nav{position:absolute;right:24px;top:50%;transform:translateY(-50%);z-index:10;display:flex;flex-direction:column;gap:8px}
.hn-b{width:40px;height:40px;border:1px solid rgba(255,255,255,0.22);background:rgba(0,21,64,0.38);backdrop-filter:blur(4px);color:var(--white);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.2s,border-color 0.2s;font-size:18px;user-select:none}
.hn-b:hover{background:var(--gold);border-color:var(--gold);color:var(--navy-d)}

/* ══ 2-CARD STRIP ══ */
.strip{background:var(--white);border-bottom:1px solid var(--border)}
.strip-inner{max-width:1160px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr}
.sc{padding:38px 52px;display:flex;flex-direction:column;gap:16px;border-right:1px solid var(--border);transition:background 0.2s;cursor:pointer}
.sc:last-child{border-right:none}
.sc:hover{background:var(--cream)}
.sc-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.sc-icon-wrap{width:46px;height:46px;border:1.5px solid var(--navy);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.sc-icon-wrap svg{width:21px;height:21px;fill:var(--navy)}
.sc-h{font-family:var(--head);font-size:24px;font-weight:700;color:var(--navy);letter-spacing:0.03em;line-height:1.2}
.sc-en{font-family:var(--serif);font-size:12px;color:var(--gold);letter-spacing:0.12em;text-transform:uppercase;display:block;margin-top:2px;font-style:italic}
.sc-body{font-size:13.5px;color:var(--muted);line-height:1.75}
.sc-items{display:flex;flex-direction:column;gap:0}
.sc-item{display:flex;align-items:baseline;gap:12px;padding:10px 0;border-top:1px solid var(--border);font-size:13px;color:var(--ink);line-height:1.5}
.sc-item-date{font-size:11px;color:var(--gold);font-weight:700;letter-spacing:0.06em;white-space:nowrap;flex-shrink:0}
.sc-btn{display:inline-flex;align-items:center;gap:10px;background:var(--navy);color:var(--white);font-family:var(--head);font-size:12px;font-weight:700;letter-spacing:0.1em;padding:12px 22px;text-decoration:none;cursor:pointer;margin-top:4px;align-self:flex-start;transition:background 0.2s,color 0.2s;border:1px solid transparent}
.sc-btn:hover{background:transparent;color:var(--navy);border-color:var(--navy)}

/* ══ MAIN GRID ══ */
.main-grid{max-width:1160px;margin:0 auto;padding:64px 40px;display:flex;flex-direction:column;gap:0}
.sec-label{display:flex;align-items:center;gap:16px;margin-bottom:28px}
.sec-line{flex:1;height:1px;background:var(--border)}
.sec-ttl{font-family:var(--head);font-size:28px;font-weight:700;color:var(--navy);letter-spacing:0.02em;white-space:nowrap}
.sec-en{font-family:var(--serif);font-size:12px;color:var(--gold);letter-spacing:0.14em;text-transform:uppercase;display:block;font-style:italic}
.sec-more{font-size:14px;color:var(--muted);letter-spacing:0.06em;text-decoration:none;border-bottom:1px solid var(--border);padding-bottom:2px;white-space:nowrap;transition:color 0.2s,border-color 0.2s;cursor:pointer}
.sec-more:hover{color:var(--gold);border-color:var(--gold)}

.news-list{display:flex;flex-direction:column}
.ni{display:grid;grid-template-columns:100px 76px 1fr;gap:16px;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--border);cursor:pointer;transition:background 0.15s,padding-left 0.15s,padding-right 0.15s}
.ni:hover{padding-left:8px;padding-right:8px;background:var(--cream)}
.ni-date{font-size:14px;color:var(--muted);font-weight:300;letter-spacing:0.04em}
.ni-tag{font-size:12px;font-weight:700;letter-spacing:0.06em;padding:4px 10px;white-space:nowrap;align-self:start;display:inline-block}
.tag-svc,.ni-tag.tag-service{background:#002A6E;color:#ffffff}
.tag-ev,.ni-tag.tag-event{background:#B8922A;color:#001540}
.tag-inf,.ni-tag.tag-info{background:#F8F6F1;color:#002A6E;border:1px solid #D4AE54}
.ni-title{font-size:17px;line-height:1.7;color:var(--ink)}

.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:8px}
.pcard{aspect-ratio:4/3;position:relative;overflow:hidden;cursor:pointer}
.pcard-img{width:100%;height:100%;transition:transform 0.5s var(--ease)}
.pcard:hover .pcard-img{transform:scale(1.06)}
.pcard-img.c1{background:linear-gradient(160deg,#0d3580,#0a2050)}
.pcard-img.c2{background:linear-gradient(160deg,#0a4a2a,#062a18)}
.pcard-img.c3{background:linear-gradient(160deg,#4a2a08,#2a1804)}
.pcard-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,0.68) 0%,transparent 55%)}
.pcard-label{position:absolute;bottom:12px;left:12px;font-size:12px;font-weight:700;color:var(--white);letter-spacing:0.04em}
.pcard-date{position:absolute;top:10px;left:10px;background:var(--gold);color:var(--navy-d);font-size:10px;font-weight:700;padding:2px 8px;letter-spacing:0.06em}

/* Sidebar */
.sb{display:flex;flex-direction:column;gap:28px}
.sb-block{border:1px solid var(--border);overflow:hidden}
.sb-ttl{padding:14px 20px;background:var(--navy);color:var(--white);font-family:var(--head);font-size:14px;font-weight:700;letter-spacing:0.06em;display:flex;align-items:center;gap:10px}
.sb-ttl svg{width:15px;height:15px;fill:var(--gold-l)}
.sb-body{padding:0 20px}
.ev-row{padding:14px 0;border-bottom:1px solid var(--border)}
.ev-row:last-child{border-bottom:none}
.ev-date{font-size:11px;font-weight:700;color:var(--gold);letter-spacing:0.08em;margin-bottom:3px}
.ev-name{font-size:13.5px;font-weight:500;color:var(--ink);line-height:1.45}
.ev-place{font-size:11px;color:var(--muted);margin-top:2px}

.join-cta{background:var(--navy);padding:28px 24px}
.jc-sub{font-size:13px;font-weight:300;letter-spacing:0.2em;text-transform:uppercase;color:var(--gold-l);margin-bottom:8px}
.jc-ttl{font-family:var(--head);font-size:24px;font-weight:700;color:var(--white);line-height:1.3;margin-bottom:14px;letter-spacing:0.02em}
.jc-body{font-size:15px;font-weight:300;color:rgba(255,255,255,0.62);line-height:1.8;margin-bottom:22px}
.jc-btn{display:flex;align-items:center;justify-content:space-between;background:var(--gold);color:var(--navy-d);font-family:var(--head);font-size:15px;font-weight:700;letter-spacing:0.08em;padding:16px 20px;text-decoration:none;cursor:pointer;transition:background 0.2s}
.jc-btn:hover{background:var(--gold-l)}

/* ══ フルwidth YouTube ブロック ══ */
.fp-yt-wrap{border-radius:2px;overflow:hidden;background:#000;box-shadow:0 4px 24px rgba(0,0,0,0.15)}
.fp-yt-wrap iframe{display:block;width:100%;aspect-ratio:16/9;border:0;max-height:520px}

/* ══ フルwidth 入会 CTA バナー ══ */
.fp-join-banner{background:var(--navy);display:grid;grid-template-columns:1fr 1fr;gap:48px;padding:56px 64px;align-items:center;margin-top:0}
.fp-join-banner .jc-ttl{margin-bottom:0}
.fp-join-banner .jc-body{margin-bottom:24px}
.fp-join-banner .jc-btn{display:inline-flex;width:auto}
@media(max-width:860px){
  .fp-join-banner{grid-template-columns:1fr;gap:24px;padding:36px 24px}
  .fp-join-banner .jc-ttl{margin-bottom:12px}
}

/* ══ SNS SECTIONS ══ */
.sns-section{padding:64px 0;background:var(--cream)}
.sns-inner{max-width:1160px;margin:0 auto;padding:0 40px}

/* Instagram */
.ig-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:28px}
.ig-brand{display:flex;align-items:center;gap:14px}
.ig-icon{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#405DE6,#5851DB,#833AB4,#C13584,#E1306C,#FD1D1D,#F56040,#F77737,#FCAF45,#FFDC80);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.ig-icon svg{width:22px;height:22px;fill:white}
.ig-ttl{font-family:var(--head);font-size:22px;font-weight:700;color:var(--navy)}
.ig-handle{font-size:12px;color:var(--muted);letter-spacing:0.06em}

.ig-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:4px}
.ig-card{aspect-ratio:1;position:relative;overflow:hidden;cursor:pointer;background:var(--border)}
.ig-card-bg{width:100%;height:100%;transition:transform 0.4s var(--ease)}
.ig-card:hover .ig-card-bg{transform:scale(1.06)}
.ig-card-hover{position:absolute;inset:0;background:rgba(0,42,110,0.6);opacity:0;transition:opacity 0.3s;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}
.ig-card:hover .ig-card-hover{opacity:1}
.ig-card-stat{color:white;font-size:13px;font-weight:700;display:flex;align-items:center;gap:5px}
.ig-card-stat svg{width:15px;height:15px;fill:white}
/* IG photo colors */
.igh1{background:linear-gradient(135deg,#0d3580,#1a5cb8)}
.igh2{background:linear-gradient(135deg,#0a4a2a,#1a8a4a)}
.igh3{background:linear-gradient(135deg,#5c3a0d,#b87020)}
.igh4{background:linear-gradient(135deg,#0a2550,#1a4fa0)}
.igh5{background:linear-gradient(135deg,#3a0a2a,#8a2060)}
.igh6{background:linear-gradient(135deg,#1a4a0a,#3a8a1a)}

.ig-follow-btn{display:inline-flex;align-items:center;gap:8px;border:1.5px solid var(--navy);color:var(--navy);font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.1em;padding:10px 22px;text-decoration:none;cursor:pointer;transition:background 0.2s,color 0.2s}
.ig-follow-btn:hover{background:var(--navy);color:var(--white)}
.ig-follow-btn svg{width:14px;height:14px;fill:currentColor}

/* Facebook */
.fb-section{background:var(--white);padding:64px 0;border-top:1px solid var(--border)}
.fb-inner{max-width:1160px;margin:0 auto;padding:0 40px}
.fb-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:32px}
.fb-brand{display:flex;align-items:center;gap:14px}
.fb-icon{width:44px;height:44px;border-radius:10px;background:#1877F2;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.fb-icon svg{width:24px;height:24px;fill:white}
.fb-ttl{font-family:var(--head);font-size:22px;font-weight:700;color:var(--navy)}
.fb-sub{font-size:12px;color:var(--muted);letter-spacing:0.06em}

.fb-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.fb-card{background:var(--white);border:1px solid var(--border);overflow:hidden;transition:box-shadow 0.25s var(--ease);cursor:pointer}
.fb-card:hover{box-shadow:0 4px 24px rgba(0,42,110,0.1)}
.fb-card-img{height:180px;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}
.fb-card-img .ci{width:100%;height:100%;transition:transform 0.4s var(--ease)}
.fb-card:hover .fb-card-img .ci{transform:scale(1.04)}
.fbc1{background:linear-gradient(160deg,#0d3580,#1a4fa0)}
.fbc2{background:linear-gradient(160deg,#0a4a2a,#0d6030)}
.fbc3{background:linear-gradient(160deg,#3a1a08,#6a3010)}
.fb-card-body{padding:18px 20px}
.fb-card-date{font-size:11px;color:var(--muted);letter-spacing:0.06em;margin-bottom:8px}
.fb-card-ttl{font-family:var(--head);font-size:15px;font-weight:700;color:var(--navy);line-height:1.4;margin-bottom:8px}
.fb-card-text{font-size:13px;color:var(--muted);line-height:1.7;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fb-card-foot{display:flex;align-items:center;gap:14px;padding:12px 20px;border-top:1px solid var(--border)}
.fb-react{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.fb-react svg{width:14px;height:14px;fill:var(--muted)}
.fb-page-link{display:inline-flex;align-items:center;gap:8px;border:1.5px solid #1877F2;color:#1877F2;font-family:var(--head);font-size:13px;font-weight:700;letter-spacing:0.1em;padding:10px 22px;text-decoration:none;cursor:pointer;transition:background 0.2s,color 0.2s}
.fb-page-link:hover{background:#1877F2;color:white}
.fb-page-link svg{width:14px;height:14px;fill:currentColor}

/* ══ FOOTER ══ */
.footer{background:var(--navy-d);border-top:3px solid var(--gold)}
.ft-main{max-width:1160px;margin:0 auto;padding:56px 40px 40px;display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:40px;border-bottom:1px solid rgba(255,255,255,0.06)}
.ft-brand-name{font-family:var(--head);font-size:20px;font-weight:700;color:var(--white);margin-bottom:12px;display:block}
.ft-brand-desc,.ft-desc{font-size:16px;font-weight:300;color:rgba(255,255,255,0.38);line-height:1.9;margin-bottom:20px}
.ft-tel{display:flex;align-items:center;gap:8px;color:var(--gold-l);text-decoration:none;font-size:20px;font-weight:700;letter-spacing:0.06em}
.ft-tel svg{width:16px;height:16px;fill:currentColor}
.ft-col-h{font-size:13px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--gold);margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(200,160,64,0.18)}
.ft-col ul{list-style:none;display:flex;flex-direction:column;gap:11px}
.ft-col ul a{font-size:16px;font-weight:300;color:rgba(255,255,255,0.55);text-decoration:none;cursor:pointer;transition:color 0.2s;display:flex;align-items:center;gap:6px}
.ft-col ul a:hover{color:var(--gold-l)}

/* 旧サイトリンク — external badge */
.ext-link{color:rgba(255,255,255,0.48) !important}
.ext-link::after{content:"外部";font-size:9px;background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.2);border-radius:2px;padding:1px 5px;letter-spacing:0.06em;color:rgba(255,255,255,0.38);font-weight:400}
.ext-link:hover{color:var(--gold-l) !important}
.ext-link:hover::after{border-color:rgba(184,146,42,0.4);color:var(--gold)}

.ext-icon{width:11px;height:11px;fill:currentColor;flex-shrink:0;opacity:0.5}

.ft-bottom{max-width:1160px;margin:0 auto;padding:20px 40px;display:flex;justify-content:space-between;align-items:center;font-size:13px;font-weight:300;color:rgba(255,255,255,0.3);letter-spacing:0.04em}

/* ══ HAMBURGER ══ */
.hbg {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px; height: 40px;
  cursor: pointer;
  flex-shrink: 0;
  padding: 6px;
  margin-left: 8px;
}
.hbg span {
  display: block;
  height: 2px;
  background: var(--navy);
  border-radius: 2px;
  transition: transform 0.28s var(--ease), opacity 0.2s, width 0.2s;
  transform-origin: center;
}
.hbg span:nth-child(3) { width: 65%; }
.hbg.open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hbg.open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.hbg.open span:nth-child(3) { width: 100%; transform: translateY(-7px) rotate(-45deg); }

/* Mobile drawer */
.mob-drawer {
  display: none;
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  /* top:0 固定 + padding-top でヘッダー分を確保（overflow-y:auto との相性が良い） */
  padding-top: calc(var(--header-h, 84px) + 1rem);
  background: var(--navy-d);
  z-index: 198;
  flex-direction: column;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  transform: translateX(100%);
  transition: transform 0.32s var(--ease);
}
/* 先頭項目の追加余白（保険） */
.mob-nav-list > li:first-child > a {
  padding-top: 18px;
}
.mob-drawer.open {
  transform: translateX(0);
}
.mob-nav-list {
  list-style: none;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,0.08);
}
.mob-nav-list li a {
  display: block;
  padding: 16px 32px;
  color: rgba(255,255,255,0.85);
  text-decoration: none;
  font-family: var(--head);
  font-size: 16px;
  font-weight: 500;
  letter-spacing: 0.08em;
  border-bottom: 1px solid rgba(255,255,255,0.05);
  transition: background 0.15s, color 0.15s;
}
.mob-nav-list li a:hover { background: rgba(255,255,255,0.05); color: var(--gold-l); }
.mob-tel {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 24px 32px 8px;
  color: var(--gold-l);
  text-decoration: none;
  font-size: 20px;
  font-weight: 700;
  letter-spacing: 0.06em;
}
.mob-tel svg { width: 18px; height: 18px; fill: currentColor; }
.mob-contact {
  display: block;
  margin: 12px 32px 32px;
  background: var(--gold);
  color: var(--navy-d);
  text-align: center;
  padding: 16px;
  font-family: var(--head);
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-decoration: none;
}

/* ══ RESPONSIVE ══ */
@media (max-width: 860px) {
  /* Show hamburger, hide desktop nav */
  .hbg { display: flex; }
  .hd-nav-bar { display: none; }
  .tel-btn { display: none; }
  .contact-cta { display: none; }
  .mob-drawer { display: flex; }
  .hd-spacer { flex: 1; }

  /* Hero adjustments */
  .hero { height: 68vw; min-height: 360px; max-height: 560px; margin-top: 84px; }
  .sl-photo { width: 100%; opacity: 1.0; }
  .sl-photo-img { animation: none !important; filter: brightness(0.92) saturate(1.0) !important; }
  .sl-grad { background: linear-gradient(180deg, rgba(0,10,40,0.04) 0%, rgba(0,10,40,0.28) 55%, rgba(0,15,50,0.65) 100%); }
  .sl-eyebrow, .sl-h1, .sl-p { text-shadow: 0 2px 6px rgba(0,0,0,0.75); }
  .sl-copy { width: 100%; padding: 24px 24px 72px; justify-content: flex-end; }
  .sl-h1 { font-size: 36px; }
  .sl-p { font-size: 15px; margin-bottom: 20px; }
  .sl-eyebrow { font-size: 11px; margin-bottom: 12px; }
  .we-serve { font-size: 10px; right: 16px; bottom: 20px; }
  .h-ctrl { left: 24px; bottom: 18px; }
  .h-nav { display: none; }

  /* Cards */
  .strip-inner { grid-template-columns: 1fr; }
  .sc { border-right: none; border-bottom: 1px solid var(--border); padding: 28px 24px; }
  .sc:last-child { border-bottom: none; }

  /* Main grid */
  .main-grid { padding: 40px 20px; }

  /* SNS sections */
  .sns-inner, .fb-inner { padding: 0 20px; }
  .ig-grid { grid-template-columns: repeat(3, 1fr); }
  .ig-header { flex-direction: column; align-items: flex-start; gap: 16px; }
  .fb-grid { grid-template-columns: 1fr; gap: 16px; }
  .fb-header { flex-direction: column; align-items: flex-start; gap: 16px; }

  /* Footer */
  .ft-main { grid-template-columns: 1fr 1fr; padding: 40px 20px 28px; gap: 28px; }
  .ft-bottom { flex-direction: column; gap: 6px; text-align: center; padding: 16px 20px; }
}

@media (max-width: 480px) {
  .lc-name-en { display: none; }
  .lc-name-ja { font-size: 17px; }
  .ig-grid { grid-template-columns: repeat(2, 1fr); }
  .ft-main { grid-template-columns: 1fr; }
  .hero { height: 72vw; }
  .sl-h1 { font-size: 28px; }
}

/* ══ ページ本文コンテンツ スタイル ══ */

.entry-content h2,
.entry-content-inner h2 {
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif !important;
  font-size: 34px !important;
  font-weight: 700 !important;
  color: #002A6E !important;
  border-left: 4px solid #B8922A !important;
  border-bottom: none !important;
  padding-left: 16px !important;
  padding-bottom: 0 !important;
  margin: 44px 0 18px !important;
  line-height: 1.35 !important;
}

.entry-content h3,
.entry-content-inner h3 {
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif !important;
  font-size: 26px !important;
  font-weight: 700 !important;
  color: #002A6E !important;
  margin: 36px 0 14px !important;
  padding-bottom: 10px !important;
  border-bottom: 1px solid #E2E0D8 !important;
  border-left: none !important;
}

.entry-content p,
.entry-content-inner p {
  font-size: 19px !important;
  line-height: 1.95 !important;
  color: #333333 !important;
  margin-bottom: 20px !important;
}

.entry-content table,
.entry-content-inner table {
  width: 100% !important;
  border-collapse: collapse !important;
  font-size: 17px !important;
  margin-bottom: 28px !important;
}

.entry-content table th,
.entry-content-inner table th {
  background: #002A6E !important;
  color: #ffffff !important;
  padding: 12px 16px !important;
  text-align: left !important;
  font-weight: 700 !important;
}

.entry-content table td,
.entry-content-inner table td {
  padding: 11px 16px !important;
  border: 1px solid #E2E0D8 !important;
  vertical-align: top !important;
  line-height: 1.75 !important;
}

.entry-content table tr:nth-child(even) td,
.entry-content-inner table tr:nth-child(even) td {
  background: #F8F6F1 !important;
}

.entry-content ul,
.entry-content-inner ul {
  padding-left: 8px !important;
  margin-bottom: 18px !important;
  list-style: none !important;
}

.entry-content ul li,
.entry-content-inner ul li {
  font-size: 19px !important;
  line-height: 1.95 !important;
  color: #333 !important;
  margin-bottom: 6px !important;
  padding-left: 18px !important;
  position: relative !important;
}

.entry-content ul li::before,
.entry-content-inner ul li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 11px !important;
  width: 7px !important;
  height: 7px !important;
  background: #B8922A !important;
  border-radius: 50% !important;
}

.entry-content ol,
.entry-content-inner ol {
  padding-left: 8px !important;
  margin-bottom: 18px !important;
  list-style: none !important;
  counter-reset: list-num !important;
}

.entry-content ol li,
.entry-content-inner ol li {
  font-size: 19px !important;
  line-height: 1.95 !important;
  color: #333 !important;
  margin-bottom: 10px !important;
  padding-left: 36px !important;
  position: relative !important;
  counter-increment: list-num !important;
}

.entry-content ol li::before,
.entry-content-inner ol li::before {
  content: counter(list-num) !important;
  position: absolute !important;
  left: 0 !important;
  top: 3px !important;
  width: 22px !important;
  height: 22px !important;
  background: #002A6E !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 50% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.entry-content blockquote,
.entry-content-inner blockquote {
  background: #F8F6F1 !important;
  border-left: 4px solid #B8922A !important;
  padding: 22px 28px !important;
  margin: 28px 0 !important;
  font-size: 18px !important;
  color: #6B6B78 !important;
  line-height: 1.9 !important;
}

.entry-content img,
.entry-content-inner img {
  max-width: 100%;
  height: auto;
  display: block;
}

.entry-content hr,
.entry-content-inner hr {
  border: none !important;
  border-top: 2px solid #E2E0D8 !important;
  margin: 36px 0 !important;
}

.entry-content .wp-block-button__link,
.entry-content-inner .wp-block-button__link {
  background: #002A6E;
  color: #ffffff;
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-weight: 700;
  letter-spacing: 0.08em;
  padding: 13px 28px;
  border-radius: 0;
  transition: background 0.2s;
}

.entry-content .wp-block-button__link:hover,
.entry-content-inner .wp-block-button__link:hover {
  background: #B8922A;
}

.box-navy {
  background: #002A6E;
  color: #ffffff;
  padding: 20px 24px;
  margin-bottom: 20px;
}

.box-cream {
  background: #F8F6F1;
  border-left: 4px solid #B8922A;
  padding: 18px 22px;
  margin-bottom: 20px;
}

.box-cream h3 {
  color: #002A6E !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  margin-bottom: 8px !important;
  border: none !important;
  padding: 0 !important;
}

/* ═══════════════════════════════════════════
   お問い合わせページ
   ═══════════════════════════════════════════ */
.contact-wrap{display:flex;flex-direction:column;gap:40px}
.contact-intro p{font-size:14.5px;line-height:1.9;color:#333;margin-bottom:24px}
.contact-tel-block{background:#F8F6F1;border-left:4px solid #B8922A;padding:20px 24px;display:flex;flex-direction:column;gap:4px}
.contact-tel-label{font-size:12px;color:#6B6B78;letter-spacing:0.08em}
.contact-tel-num{font-size:26px;font-weight:700;color:#002A6E;text-decoration:none;letter-spacing:0.06em;font-family:'Zen Kaku Gothic New',sans-serif}
.contact-tel-num:hover{color:#B8922A}
.contact-tel-hours{font-size:12px;color:#6B6B78}

/* CF7 フォームスタイル */
.wpcf7{margin:0}
.cf7-row{margin-bottom:22px}
.cf7-label{display:block;font-size:13px;font-weight:700;color:#002A6E;margin-bottom:7px;letter-spacing:0.04em}
.cf7-req{background:#B8922A;color:#001540;font-size:10px;font-weight:700;padding:1px 7px;margin-left:6px;vertical-align:middle}
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea{width:100%;border:1px solid #E2E0D8;padding:11px 14px;font-size:14px;font-family:'Noto Sans JP',sans-serif;background:#ffffff;color:#111218;border-radius:0;outline:none;transition:border-color .2s;-webkit-appearance:none;appearance:none;box-sizing:border-box}
.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 select:focus,
.wpcf7 textarea:focus{border-color:#002A6E}
.wpcf7 textarea{height:160px;resize:vertical}
.wpcf7 select{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23002A6E' stroke-width='1.5' fill='none'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 14px center;padding-right:36px}
.wpcf7 .wpcf7-acceptance{font-size:13px;color:#6B6B78}
.wpcf7 .wpcf7-acceptance a{color:#002A6E}
.pp-notice{font-size:13px;color:#555;background:#f7f6f2;border-left:3px solid #B8922A;padding:10px 14px;margin:20px 0 14px;line-height:1.7}
.pp-notice a{color:#002A6E;text-decoration:underline}
.cf7-submit{margin-top:28px}
.wpcf7 input[type="submit"]{background:#002A6E;color:#ffffff;font-family:'Zen Kaku Gothic New',sans-serif;font-size:15px;font-weight:700;letter-spacing:0.1em;padding:16px 56px;border:none;cursor:pointer;transition:background .2s;border-radius:0}
.wpcf7 input[type="submit"]:hover{background:#B8922A}
.wpcf7 .wpcf7-response-output{margin-top:20px;padding:14px 18px;font-size:14px;border:none !important}
.wpcf7 .wpcf7-mail-sent-ok{background:#E8F4E8;color:#1a5a1a;border-left:4px solid #2a8a2a !important}
.wpcf7 .wpcf7-validation-errors,
.wpcf7 .wpcf7-mail-sent-ng{background:#FFF0F0;color:#8a1a1a;border-left:4px solid #cc2a2a !important}
@media(max-width:860px){.contact-tel-num{font-size:22px}.wpcf7 input[type="submit"]{width:100%}}

/* ═══════════════════════════════════════════
   ニュース詳細・アーカイブ
   ═══════════════════════════════════════════ */
.news-nav{display:flex;justify-content:space-between;gap:16px;margin-top:40px;padding-top:24px;border-top:1px solid var(--border)}
.news-nav-prev,.news-nav-next{color:var(--navy);text-decoration:none;font-size:13.5px;font-weight:500;transition:color .2s;max-width:45%;line-height:1.6}
.news-nav-prev:hover,.news-nav-next:hover{color:var(--gold)}
.news-pagination{margin-top:32px;text-align:center}
.news-pagination .page-numbers{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;margin:0 3px;border:1px solid var(--border);color:var(--navy);text-decoration:none;font-size:14px;transition:all .2s}
.news-pagination .page-numbers.current,.news-pagination .page-numbers:hover{background:var(--navy);color:var(--white);border-color:var(--navy)}
.outline-btn{display:inline-block;border:2px solid var(--navy);color:var(--navy);padding:10px 24px;font-size:13px;font-weight:700;letter-spacing:0.06em;text-decoration:none;transition:all .2s}
.outline-btn:hover{background:var(--navy);color:var(--white)}

/* ═══════════════════════════════════════════
   ニュース一覧 カード型グリッド
   ═══════════════════════════════════════════ */
.news-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:8px}
.news-card{display:flex;flex-direction:column;text-decoration:none;color:var(--ink);border:1px solid var(--border);overflow:hidden;transition:box-shadow .25s,transform .25s}
.news-card:hover{box-shadow:0 4px 24px rgba(0,42,110,.12);transform:translateY(-3px)}
.news-card-img{aspect-ratio:16/9;position:relative;background:linear-gradient(135deg,#002A6E,#0A3A8C)}
.news-card-tag{position:absolute;top:12px;left:12px;font-size:11px;font-weight:700;padding:3px 10px;letter-spacing:0.08em}
.news-card-body{padding:16px 18px 20px;display:flex;flex-direction:column;gap:6px;flex:1}
.news-card-date{font-size:12px;color:var(--gold);font-weight:700;letter-spacing:0.06em}
.news-card-title{font-family:var(--head);font-size:15px;font-weight:700;color:var(--navy);line-height:1.45}
.news-card:hover .news-card-title{color:var(--gold)}
.news-card-excerpt{font-size:13px;color:var(--muted);line-height:1.7;margin-top:4px}
.single-thumb{margin-bottom:32px;overflow:hidden}
.single-thumb img{width:100%;height:auto;display:block}
@media(max-width:860px){.news-card-grid{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.news-card-grid{grid-template-columns:1fr}}

/* ═══════════════════════════════════════════
   組織表ページ
   ═══════════════════════════════════════════ */
.org-wrap{width:100%;max-width:100%;min-width:0;box-sizing:border-box;overflow:hidden}
.org-archive-link{background:#F8F6F1;border-left:4px solid #B8922A;padding:14px 18px;margin-bottom:24px;display:flex;flex-direction:column;gap:8px}
.org-archive-link p{font-size:13px;color:var(--muted);margin:0}
.org-archive-btn{display:inline-block;font-size:13px;font-weight:700;color:var(--navy);text-decoration:none;border-bottom:1px solid var(--navy);padding-bottom:1px;width:fit-content}
.org-archive-btn:hover{color:var(--gold);border-color:var(--gold)}
.org-header{background:var(--navy);color:#fff;padding:10px 16px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;box-sizing:border-box;width:100%}
.org-year{font-size:15px;font-weight:700;letter-spacing:0.06em}
.org-count{font-size:12px;opacity:.85;letter-spacing:0.04em}

/* 役員一覧テーブル */
.org-table-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:28px;box-sizing:border-box}
.org-table{width:max-content;max-width:none;min-width:700px;border-collapse:collapse;font-size:13px;white-space:nowrap;table-layout:auto}
.org-table th,.org-table td{padding:6px 12px;border:1px solid #ccc;vertical-align:middle;white-space:nowrap}
.org-role{background:var(--navy);color:#fff;font-weight:700;white-space:nowrap;text-align:center}
.org-role2{background:#e8edf5;color:var(--navy);font-weight:700;font-size:11px;white-space:nowrap;text-align:center}
.org-role2.org-zc{background:#002A6E;color:#B8922A;font-weight:700}
.org-role2.org-highlight{background:#fdf5e0;color:var(--navy);font-size:11px}
.org-sub{background:#f0f4fa;color:var(--navy);font-size:11px;text-align:right}
.org-sub.org-sub--label{font-weight:700}
.org-table tr:nth-child(even) td{background:#fafbfc}

/* 委員会セクション */
.org-committee-section{margin-bottom:28px}
.org-vp-head{background:#e8edf5;color:var(--navy);font-size:13px;font-weight:700;padding:8px 14px;border-left:4px solid var(--navy);margin-bottom:6px}
.org-committee-label{font-size:12px;font-weight:700;letter-spacing:0.08em;padding:4px 12px;display:inline-block;margin-bottom:10px}
.org-committee-label--unsei{background:var(--navy);color:#fff}
.org-committee-label--jigyou{background:#B8922A;color:#001540}
.org-committee-wrap{width:100%;max-width:100%;min-width:0;overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:4px;box-sizing:border-box}
.org-committee-table{width:max-content;max-width:none;min-width:600px;border-collapse:collapse;font-size:12px;white-space:nowrap;table-layout:auto}
.org-committee-table th,.org-committee-table td{padding:5px 10px;border:1px solid #ccc;vertical-align:top;white-space:nowrap}
.org-com-name{background:#dde4f0;font-weight:700;color:#002A6E;width:160px;min-width:140px;text-align:left;font-size:12px;white-space:normal;word-break:keep-all}
.org-com-name.org-jigyou{background:var(--navy);color:#fff;border-left:3px solid #B8922A;white-space:normal;word-break:keep-all}
.org-committee-table tr:nth-child(even) td{background:#fafbfc}
.org-legend{background:#f5f5f5;padding:10px 14px;font-size:11px;color:var(--muted);margin-top:20px;line-height:1.8}

/* Facebook ウィジェットセクション */
.fp-fb{background:var(--cream);padding:56px 0}
.fp-section-inner{max-width:1160px;margin:0 auto;padding:0 40px}
.fb-widget-wrap{margin-top:24px;width:100%;text-align:center;overflow:hidden;flex:1;display:flex;flex-direction:column}
.fb-widget-inner{flex:1;display:flex;flex-direction:column;width:100%;max-width:680px;margin:0 auto;overflow:hidden}
.fb-widget-wrap .fb-page,.fb-widget-wrap span,.fb-widget-wrap iframe{display:block !important;margin:0 auto !important;max-width:100% !important;width:100% !important}
@media(max-width:768px){.fb-widget-inner{max-width:100%}}
@media(max-width:480px){.fb-widget-inner{max-width:100%;padding:0}}
.fb-xfbml-parse-ignore{display:block;text-align:center;padding:40px 20px;color:var(--muted);font-size:14px}
.fb-xfbml-parse-ignore a{color:var(--navy);font-weight:700;text-decoration:none}
@media(max-width:860px){.fp-section-inner{padding:0 20px}.fb-widget-wrap{padding:4px}}

/* Instagram 準備中バッジ */
.ig-coming-soon{display:inline-block;background:#6B6B78;color:#fff;font-size:11px;font-weight:700;padding:2px 8px;margin-left:8px;letter-spacing:0.08em;vertical-align:middle}
@media(max-width:700px){.org-header{flex-direction:column;align-items:flex-start}}

/* ========================================
   組織表 統合CSS（2026年度〜共通）
======================================== */
.org-block { margin-bottom: 40px; }
.org-block-title {
  background: #002A6E;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  padding: 10px 18px;
  border-radius: 4px 4px 0 0;
}
.org-simple-table {
  width: 100%;
  border-collapse: collapse;
  border: 1px solid #ddd;
}
.org-simple-table th {
  background: #002A6E;
  color: #fff;
  padding: 10px 16px;
  width: 42%;
  font-size: 0.9rem;
  font-weight: 600;
  text-align: left;
  border: 1px solid #ccc;
}
.org-simple-table td {
  padding: 10px 16px;
  font-size: 0.9rem;
  border: 1px solid #ddd;
  background: #fff;
}
.org-simple-table tr:nth-child(even) td { background: #f7f7f7; }
.org-middle-group {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 40px;
}
.org-mini-table { flex: 1; min-width: 180px; }
.org-mini-table-title {
  background: #B8922A;
  color: #fff;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 8px 14px;
  border-radius: 4px 4px 0 0;
}
.org-mini-table table { width: 100%; border-collapse: collapse; border: 1px solid #ddd; }
.org-mini-table td { padding: 10px 14px; font-size: 0.9rem; border: 1px solid #ddd; background: #fff; }
.org-committee-table2 { width: 100%; border-collapse: collapse; border: 1px solid #ddd; }
.org-committee-divider td {
  background: transparent !important;
  background-color: transparent !important;
  color: #333 !important;
  font-weight: 700;
  font-size: 0.95rem;
  padding: 12px 14px;
  border: 2px solid #002A6E !important;
  border-top: 3px solid #002A6E !important;
}
.org-committee-divider {
  margin-top: 8px;
}
/* entry-content偶数行ルール(0,2,3)を同特異度・後順で上書き */
.entry-content table tr.org-committee-divider td,
.entry-content-inner table tr.org-committee-divider td {
  background: transparent !important;
  background-color: transparent !important;
  color: #333 !important;
}
.org-committee-name td {
  background: #e8ecf4;
  color: #002A6E;
  font-weight: 700;
  font-size: 0.9rem;
  padding: 8px 14px;
  border-top: 1px solid #ccc;
}
.org-committee-members td {
  background: #fff;
  padding: 10px 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 4px 14px;
  border-top: 1px solid #eee;
}
.org-member { white-space: nowrap; font-size: 0.88rem; line-height: 1.8; }
.org-member--chief { color: #B8922A; font-weight: 700; }
.org-member--vice  { color: #002A6E; font-weight: 700; }
.org-member--sub   { color: #555;    font-weight: 700; }
.org-note {
  margin-top: 16px;
  padding: 10px 14px;
  background: #f0f4fa;
  border-left: 3px solid #002A6E;
  font-size: 0.82rem;
  color: #444;
  line-height: 1.8;
}
@media (max-width: 768px) {
  .org-simple-table th,
  .org-simple-table td { font-size: 0.82rem; padding: 8px 10px; }
  .org-middle-group { flex-direction: column; }
  .org-mini-table { min-width: 100%; }
  .org-committee-name td { font-size: 0.82rem; }
  .org-committee-members td { gap: 2px 10px; padding: 8px 10px; }
  .org-member { font-size: 0.8rem; }
}

.club-banner-cell{width:220px;vertical-align:middle;text-align:center;padding:12px;border:1px solid #E2E0D8}
.info-table th{width:160px}

/* 会長写真（大表示） */
.pres-photo-block{margin-bottom:28px}
.pres-photo-link{display:block;position:relative;overflow:hidden;cursor:zoom-in;margin-bottom:10px}
.pres-photo-large{width:100%;max-width:100%;height:auto;display:block;transition:opacity 0.2s}
.pres-photo-link:hover .pres-photo-large{opacity:0.92}
.pres-photo-zoom{position:absolute;bottom:10px;right:10px;background:rgba(0,0,0,0.55);color:#fff;font-size:11px;padding:4px 10px;letter-spacing:0.06em;pointer-events:none}

/* 会長名表示 */
.pres-name-block{display:flex;align-items:center;gap:12px;padding:10px 16px;background:var(--navy);color:var(--white)}
.pres-name-label{font-size:11px;font-weight:700;letter-spacing:0.15em;color:var(--gold-l);flex-shrink:0}
.pres-name-text{font-family:var(--head);font-size:20px;font-weight:700;letter-spacing:0.06em}

/* メインアクト */
.pres-mainact{border-left-color:var(--navy) !important;background:var(--navy) !important}
.pres-mainact .pres-policy-label{color:var(--gold-xl) !important;font-size:15px}
.pres-mainact .pres-label-icon{color:var(--gold);margin-right:4px}
.pres-mainact .pres-policy-text{color:var(--white) !important;font-size:15px;line-height:2}

/* 会長就任あいさつ */
.pres-greeting-block{margin-top:28px;padding-top:28px;border-top:2px solid var(--navy)}
.pres-greeting-label{font-family:var(--head);font-size:18px;font-weight:700;color:var(--navy);margin-bottom:16px;display:flex;align-items:center;gap:10px}
.pres-greeting-label::before{content:'';width:4px;height:20px;background:var(--gold);border-radius:2px;display:inline-block;flex-shrink:0}
.pres-greeting-text{font-size:14.5px;line-height:2;color:var(--ink)}

/* 会長所信 YouTube 動画 */
.pres-yt-wrap{margin:36px 0;overflow:hidden;background:#000;box-shadow:0 4px 24px rgba(0,0,0,0.15)}
.pres-yt-wrap iframe{display:block;width:100%;aspect-ratio:16/9;border:0}

/* スローガンブロック */
.pres-slogan-block{background:var(--navy);padding:28px 32px;text-align:center;margin-bottom:28px}
.pres-slogan-label{font-size:11px;letter-spacing:0.2em;color:var(--gold-l);margin-bottom:10px;text-transform:uppercase}
.pres-slogan-text{font-family:var(--head);font-size:26px;font-weight:900;color:var(--gold-xl);letter-spacing:0.04em;line-height:1.4}

/* 会長プロフィール */
.pres-profile{display:flex;align-items:center;gap:24px;margin-bottom:28px;padding-bottom:28px;border-bottom:1px solid var(--border)}
.pres-photo{width:120px;height:160px;object-fit:cover;object-position:top;flex-shrink:0;border:1px solid var(--border)}
.pres-name{font-family:var(--head);font-size:22px;font-weight:700;color:var(--navy);letter-spacing:0.06em}

/* 会長方針・活動方針 */
.pres-policy-block{margin-bottom:24px;padding:20px 24px;background:var(--cream);border-left:4px solid var(--gold)}
.pres-policy-label{font-family:var(--head);font-size:13px;font-weight:700;color:var(--navy);letter-spacing:0.1em;margin-bottom:10px}
.pres-policy-text{font-size:14px;line-height:1.9;color:var(--ink)}

/* 会長所信 アーカイブリンク */
.pres-archive-link{background:var(--cream);padding:28px 32px;text-align:center;margin-top:8px}
.pres-archive-link p{font-size:14px;color:var(--muted);margin-bottom:16px}

/* 会員数バー */
.member-count-bar{background:var(--navy);color:var(--white);padding:10px 18px;font-size:14px;margin-bottom:24px;letter-spacing:0.06em}
.member-count-bar strong{color:var(--gold-xl);font-size:18px;font-family:var(--head)}

/* 会員カードグリッド */
.member-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;margin-bottom:40px}

/* 会員カード */
.member-card{border:1px solid var(--border);overflow:hidden;transition:box-shadow 0.25s,transform 0.25s;background:var(--white)}
.member-card:hover{box-shadow:0 4px 20px rgba(0,42,110,0.1);transform:translateY(-2px)}

/* 写真エリア */
.member-card-photo{aspect-ratio:1/1;background:linear-gradient(135deg,#002A6E,#0A3A8C);display:flex;align-items:center;justify-content:center;position:relative}

/* バッジ（幹事・終身会員等） */
.member-badge{position:absolute;bottom:8px;left:8px;background:var(--gold);color:var(--navy-d);font-size:10px;font-weight:700;padding:2px 8px;letter-spacing:0.06em}
.member-badge--text{position:static;display:inline-block;margin-bottom:4px;align-self:flex-start}

/* カード本文 */
.member-card-body{padding:14px 16px;display:flex;flex-direction:column;gap:4px}
.member-card-name{font-family:var(--head);font-size:15px;font-weight:700;color:var(--navy);letter-spacing:0.04em;border-bottom:1px solid var(--border);padding-bottom:8px;margin-bottom:4px}
.member-card-company{font-size:12px;color:var(--ink);line-height:1.5}
.member-card-role{font-size:11px;color:var(--muted)}
.member-card-year{font-size:11px;color:var(--gold);font-weight:700;margin-top:2px}

/* 備考ボックス */
.member-note-box{background:var(--cream);border-left:4px solid var(--border);padding:14px 20px;font-size:13px;color:var(--muted)}

/* レスポンシブ */
@media(max-width:1024px){.member-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){.member-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.member-list-wrap{padding-left:16px!important;padding-right:16px!important}.member-grid{grid-template-columns:1fr;gap:12px}.member-card-body{padding:10px 12px}}

/* ライオンズクラブの歌 ページ */
.song-page-wrap{max-width:960px;margin:0 auto}
.song-toc{background:#F8F6F1;border:1px solid #E2E0D8;border-left:4px solid #B8922A;padding:20px 24px;margin-bottom:32px}
.song-toc-label{font-size:12px;font-weight:700;letter-spacing:0.15em;text-transform:uppercase;color:#B8922A;margin-bottom:12px}
.song-toc-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(2,1fr);gap:6px 24px}
.song-toc-list li a{color:#002A6E;text-decoration:none;font-size:14px;display:flex;align-items:center;gap:6px;padding:4px 0;border-bottom:1px solid #E2E0D8;transition:color 0.2s}
.song-toc-list li a::before{content:'♪';color:#B8922A;font-size:12px}
.song-toc-list li a:hover{color:#B8922A}
.song-youtube-section{margin-bottom:36px}
.song-youtube-wrap{position:relative;padding-top:56.25%;background:#000}
.song-youtube-wrap iframe{position:absolute;top:0;left:0;width:100%;height:100%;border:0}
.song-yt-link{display:block;position:relative;width:100%;padding-top:56.25%;background:#000;overflow:hidden;text-decoration:none}
.song-yt-link img{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover;opacity:.85;margin:0!important;display:block!important}
.song-yt-btn{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;width:68px;height:48px;background:rgba(220,0,0,.9);border-radius:10px;display:block;transition:background .15s}
.song-yt-btn::after{content:'';display:block;position:absolute;top:50%;left:55%;transform:translate(-50%,-50%);border-style:solid;border-width:12px 0 12px 21px;border-color:transparent transparent transparent #fff}
.song-yt-link:hover .song-yt-btn{background:rgb(200,0,0)}
.song-card{border:1px solid #E2E0D8;margin-bottom:28px;overflow:hidden}
.song-card-header,.song-youtube-section .song-card-header{background:#002A6E;display:flex;align-items:center;gap:16px;padding:14px 20px}
.song-number{font-family:'Cormorant Garamond',Georgia,serif;font-size:28px;font-weight:400;color:#B8922A;line-height:1;flex-shrink:0;width:36px}
.song-title-ja{font-size:17px;font-weight:700;color:#fff;letter-spacing:0.04em}
.song-title-en{font-size:11px;font-weight:300;color:#D4AE54;letter-spacing:0.12em;margin-top:3px}
.song-lyrics{padding:24px 28px;background:#fff}
.song-lyrics p{font-size:15px;line-height:2;color:#222;margin-bottom:20px;padding-bottom:20px;border-bottom:1px dashed #E2E0D8}
.song-lyrics p:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}
.song-lyrics--en p{font-family:Georgia,'Times New Roman',serif;font-size:14px;line-height:1.9;color:#333}
@media(max-width:768px){.song-page-wrap{max-width:100%}}
@media(max-width:540px){.song-toc-list{grid-template-columns:1fr}.song-title-ja{font-size:15px}.song-number{font-size:22px;width:28px}}
@media(max-width:480px){.song-lyrics{padding:16px 14px}.song-card-header,.song-youtube-section .song-card-header{padding:10px 14px}.song-lyrics p{font-size:14px}}

/* ========== リンク集ページ ========== */
.links-content-wrap{max-width:none;margin:0;padding:32px 0 80px}
/* ゾーン別クラブ一覧 */
.zones-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:16px;margin:8px 0 0}
.zone-card{background:#fff;border:1px solid #ddd;border-radius:4px;padding:18px !important;min-width:140px}
.zone-card--highlight{border-color:var(--gold) !important;border-width:2px !important;background:#fffdf5}
.zone-label{font-size:13px;font-weight:700;color:var(--navy);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.zone-badge{font-size:10px;font-weight:700;background:var(--gold);color:#001540;padding:2px 8px;letter-spacing:0.06em}
.zone-clubs{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:5px}
.zone-clubs li{font-size:13px;color:var(--ink);line-height:1.5}
.zone-clubs li a{color:var(--navy);text-decoration:none;border-bottom:1px solid transparent;transition:border-color .15s}
.zone-clubs li a:hover{border-bottom-color:var(--gold)}
.zone-club--self{font-weight:700}
.zone-club--self a{color:var(--gold) !important;font-weight:700}
/* ゾーン別 ブロック形式 */
.zone-section{margin-bottom:32px}
.zone-section-title{background:#002A6E;color:#fff !important;font-size:1rem !important;font-weight:700;padding:10px 18px !important;border-radius:4px 4px 0 0;margin-bottom:0 !important;letter-spacing:0.04em}
.zone-row{gap:20px !important;margin-bottom:20px !important;flex-wrap:wrap !important}
.wp-block-column.zone-card{flex-basis:calc(25% - 15px) !important;min-width:140px;flex-grow:0 !important}
.zone-name{font-size:0.9rem !important;font-weight:700 !important;color:#002A6E !important;margin:0 0 8px !important;padding-bottom:6px;border-bottom:2px solid #B8922A}
.zone-club-list{list-style:none !important;padding:0 !important;margin:0 !important}
.zone-club-list li{font-size:0.85rem;padding:3px 0;color:#002A6E;border-bottom:1px solid #f0f0f0}
.zone-club-list li:last-child{border-bottom:none}
.zone-club-list li a{color:#002A6E;text-decoration:none}
.zone-club-list li a:hover{color:#B8922A;text-decoration:underline}
/* リンクグループ */
.link-group{margin-bottom:40px}
.link-group-title{background:#002A6E;color:#fff !important;font-size:1rem !important;font-weight:700;padding:10px 18px !important;border-radius:4px 4px 0 0;margin-bottom:0 !important;letter-spacing:0.04em}
.link-list{list-style:none !important;padding:0 !important;margin:0 !important;border:1px solid #ddd;border-top:none;border-radius:0 0 4px 4px;overflow:hidden}
.link-list li{border-bottom:1px solid #eee;margin:0 !important;padding:0 !important}
.link-list li:last-child{border-bottom:none}
.link-list li a{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;color:#002A6E;text-decoration:none;font-size:0.95rem;transition:background .2s}
.link-list li a::after{content:'↗';color:#B8922A;font-size:0.9rem;flex-shrink:0;margin-left:8px}
.link-list li a:hover{background:#f0f4ff}
@media(max-width:768px){
  .links-content-wrap{padding:20px 0 60px}
  .link-list li a{font-size:0.88rem;padding:12px 14px}
  .zones-grid{grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}
  .wp-block-column.zone-card{flex-basis:calc(50% - 8px) !important;min-width:0}
  .zone-card{min-width:0 !important}
}

/* ドロップダウン内の区切り線・会員専用 */
.nav-dropdown{list-style:none !important;padding-left:0 !important;margin-left:0 !important}
.nav-dropdown li{list-style:none !important;list-style-type:none !important;padding-left:0 !important}
.nav-dropdown li::before,.nav-dropdown li::marker{display:none !important;content:none !important}
.nav-dropdown ul{list-style:none !important;padding-left:0 !important;margin-left:0 !important}
.nav-dropdown li.nav-divider{height:1px;background:rgba(255,255,255,0.15);margin:4px 0;pointer-events:none}
.nav-dropdown li.nav-member-only a{color:#EDD280 !important;font-size:12px;letter-spacing:0.08em}
.nav-dropdown li.nav-member-only a::before{content:'🔒 ';font-size:10px}

/* ニュースアーカイブ 年度タブ */
.year-tab-nav{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px}
.year-tab-btn{padding:8px 20px;border:2px solid var(--navy);border-radius:4px;cursor:pointer;font-size:14px;font-weight:600;background:#fff;color:var(--navy);transition:all .2s}
.year-tab-btn:hover,.year-tab-btn.active{background:var(--navy);color:#fff}
.year-tab-content{display:none}
.year-tab-content.active{display:block}

/* SNS 2カラムセクション */
.fp-sns-section{background:var(--cream);padding:56px 0}
.fp-sns-inner{max-width:1160px;margin:0 auto;padding:0 40px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:stretch}
.fp-sns-col{display:flex;flex-direction:column;gap:16px}
.fp-sns-col:first-child{min-height:0}
.fp-sns-header{display:flex;align-items:center;justify-content:space-between;padding-bottom:12px;border-bottom:2px solid var(--navy)}
.fp-sns-label{display:flex;align-items:center;gap:8px;font-family:var(--head);font-size:18px;font-weight:700;color:var(--navy);letter-spacing:0.04em}
.fp-sns-more{font-size:12px;font-weight:700;color:var(--navy);text-decoration:none;letter-spacing:0.08em;transition:color 0.2s}
.fp-sns-more:hover{color:var(--gold)}
.ig-embed-wrap{min-height:500px;display:flex;overflow:hidden;max-width:100%}
.ig-placeholder{width:100%;min-height:500px;background:linear-gradient(135deg,#fdf3e7 0%,#fce4ec 100%);border:1px solid #f0d0d0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:40px;text-align:center}
.ig-placeholder-icon svg{opacity:0.4}
.ig-placeholder-text{font-size:15px;line-height:1.8;color:#555}
.ig-follow-btn{display:inline-flex;align-items:center;gap:8px;background:linear-gradient(135deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);color:#fff;text-decoration:none;font-family:var(--head);font-size:14px;font-weight:700;padding:13px 28px;letter-spacing:0.08em;transition:opacity 0.2s}
.ig-follow-btn:hover{opacity:0.85}
@media(max-width:860px){
  .fp-sns-inner{grid-template-columns:1fr;padding:0 20px}
  .ig-placeholder{min-height:300px}
  .ig-embed-wrap{min-height:auto}
}

/* ============================================
   Smash Balloon Instagram - スマホ対応
============================================ */
@media (max-width: 768px) {
  /* コンテナのはみ出し防止 */
  #sb_instagram,
  .sbi_container {
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
  }

  /* テキスト・ブロック要素の幅制御（img は除外） */
  #sb_instagram div,
  #sb_instagram span,
  #sb_instagram p,
  #sb_instagram ul,
  #sb_instagram li {
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* 画像はアスペクト比を守る（width:100% にしない） */
  #sb_instagram img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* ローディングアイコンを中央に */
  .sbi_loader,
  #sbi_load {
    text-align: center !important;
    display: block !important;
    width: 100% !important;
  }
  .sbi_loader img,
  #sbi_load img {
    width: 60px !important;
    height: 60px !important;
    max-width: 60px !important;
    display: block !important;
    margin: 40px auto !important;
    object-fit: contain !important;
  }
}

/* 会員専用ページ PDFリスト */
.member-section-title{font-family:var(--head);font-size:16px;font-weight:700;color:var(--navy);border-left:4px solid var(--gold);padding:6px 0 6px 14px;margin:32px 0 16px}
.wp-block-file{display:flex !important;align-items:center !important;gap:12px !important;padding:14px 18px !important;border:1px solid var(--border) !important;background:#fff !important;margin-bottom:8px !important;transition:background 0.2s !important}
.wp-block-file:hover{background:var(--cream) !important}
.wp-block-file::before{content:'📄';font-size:20px;flex-shrink:0}
.wp-block-file a:first-child{flex:1 !important;color:var(--navy) !important;font-weight:600 !important;font-size:14px !important;text-decoration:none !important}
.wp-block-file a:first-child:hover{color:var(--gold) !important}
.wp-block-file .wp-block-file__button{background:var(--navy) !important;color:#fff !important;font-size:12px !important;padding:6px 14px !important;border-radius:0 !important;white-space:nowrap !important;flex-shrink:0 !important}
.wp-block-file .wp-block-file__button:hover{background:var(--gold) !important}

/* 組織表ラッパー：横スクロール対応 */
.org-table-wrap,
.org-committee-wrap {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  box-sizing: border-box;
  position: relative;
}

/* ── 年度ブロック：横スクロールコンテナ ── */
/* sch-year-block 自体をスクロール容器にすることで org-header と
   org-table が同じ幅になり、タイトルバーとテーブルの幅不一致が解消する */
.sch-year-block {
  max-width: 100%;
  overflow-x: auto;     /* ← テーブル全体のスクロール担当 */
  overflow-y: visible;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
}

/* Gutenberg の alignfull / alignwide によるビューポート幅突き破りを無効化 */
.sch-year-block .alignfull,
.sch-year-block .alignwide,
.sch-year-block .wp-block-group.alignfull,
.sch-year-block .wp-block-group.alignwide {
  width: 100% !important;
  max-width: 100% !important;
  margin-left:  0 !important;
  margin-right: 0 !important;
}

/* org-table: タイトルバー（org-header）と完全一致させるため width:100% */
.entry-content .org-table,
.entry-content-inner .org-table {
  width: 100% !important;
  max-width: none !important;
  font-size: 13px !important;
  margin-bottom: 0 !important;
}

/* org-committee-table: タイトルバーと同幅（横スクロールは sch-year-block が担当） */
.entry-content .org-committee-table,
.entry-content-inner .org-committee-table {
  width: 100% !important;
  max-width: none !important;
  font-size: 13px !important;
  margin-bottom: 0 !important;
}

/* org-table th/td: entry-content テーブルスタイル（12/16px padding・border #E2E0D8）を遮断 */
.entry-content .org-table th,
.entry-content .org-table td {
  padding: 6px 12px !important;
  border: 1px solid #ccc !important;
  vertical-align: middle !important;
  line-height: inherit !important;
  font-size: 13px !important;
}

/* org-committee-table th/td: 同様に entry-content スタイルを遮断 */
.entry-content .org-committee-table th,
.entry-content .org-committee-table td {
  padding: 5px 10px !important;
  border: 1px solid #ccc !important;
  vertical-align: top !important;
  line-height: inherit !important;
  font-size: 13px !important;
}

/* スクロールヒント（スマホのみ表示） */
.org-table-wrap::after,
.org-committee-wrap::after {
  content: '← スクロールできます →';
  display: none;
  text-align: center;
  font-size: 11px;
  color: var(--muted);
  padding: 4px 0 8px;
  letter-spacing: 0.08em;
}

@media (max-width: 768px) {
  .entry-content-inner {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    padding: 0 16px;
  }

  .org-archive-link {
    box-sizing: border-box;
  }

  .org-header {
    box-sizing: border-box;
    width: 100%;
  }

  .org-table-wrap::after,
  .org-committee-wrap::after {
    display: block;
  }

  .org-table {
    min-width: 600px;
    font-size: 12px;
  }

  .org-table td,
  .org-table th {
    padding: 5px 8px;
    white-space: nowrap;
  }

  /* デスクトップの !important 13px をモバイルでは 12px に戻す */
  .entry-content .org-table th,
  .entry-content .org-table td,
  .entry-content .org-committee-table th,
  .entry-content .org-committee-table td {
    font-size: 12px !important;
  }

  .org-committee-table {
    min-width: 500px;
    font-size: 11px;
  }

  .org-committee-table td,
  .org-committee-table th {
    padding: 4px 6px;
    white-space: nowrap;
  }

  .org-header {
    flex-direction: column;
    gap: 4px;
    font-size: 13px;
    padding: 10px 14px;
  }

  .org-year { font-size: 13px; }
  .org-count { font-size: 12px; }

  .org-committee-section { margin-bottom: 20px; }
  .org-vp-head { font-size: 12px; }
  .org-committee-label { font-size: 12px; padding: 4px 10px; }

  .org-legend {
    font-size: 11px;
    gap: 6px;
    padding: 8px 12px;
  }

  .org-archive-link {
    flex-direction: column;
    gap: 10px;
    padding: 12px 16px;
  }

  .org-archive-btn {
    font-size: 12px;
    padding: 8px 14px;
  }
}

@media (max-width: 480px) {
  .org-table { font-size: 11px; }
  .org-table td,
  .org-table th { padding: 4px 6px; }

  .org-committee-table { font-size: 10px; }
  .org-role { width: 80px !important; }
  .org-com-name { width: 100px !important; min-width: 80px; }

  /* デスクトップの !important 13px をスマホ最小幅では 11px に戻す */
  .entry-content .org-table th,
  .entry-content .org-table td {
    font-size: 11px !important;
  }
}

/* カスタムHTMLブロックのはみ出し防止 */
.wp-block-html{max-width:100%;overflow:hidden}

/* ── 組織表コンテナ幅調整 ── */

/* ① org-wrap をクラブ紹介ページと同じ実効幅（1064px）に合わせる
      pg-content (max-width:1160px, padding:0 48px) の内側なので
      width:100% で自動的に 1064px になる
      overflow:visible → スクロールは sch-year-block に委ねる */
.sch-year-block .org-wrap {
  width: 100%;
  min-width: 0;
  max-width: none;
  overflow: visible;
}

/* ② org-table-wrap / org-committee-wrap の個別スクロールを解除
      スクロールは上位の sch-year-block に委ねるため overflow-x:visible に変更 */
.sch-year-block .org-table-wrap,
.sch-year-block .org-committee-wrap {
  overflow-x: visible;
}

/* ③ Gutenberg ブロックラッパーが全幅展開しないよう封じ込め
      Custom HTML ブロック / Group ブロック / Classic ブロック を対象にする
      既存の alignfull 対策では捕捉できないラッパークラスへの補完 */
.sch-year-block .wp-block-html,
.sch-year-block .wp-block-group,
.sch-year-block .wp-block-freeform,
.sch-year-block .wp-block-classic {
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* ④ org-role2 / org-sub のフォントサイズを org-role / 名前セルと統一
      minified セクションの font-size:11px を上書き */
.org-table .org-role2,
.org-table .org-sub,
.org-table .org-role2.org-highlight,
.org-table .org-role2.org-zc {
  font-size: 13px !important;
}

/* 事業委員会テーブル：折り返し許可・スクロールなし */
.org-committee-table--wrap {
  width: 100%;
  min-width: 0 !important;
  white-space: normal !important;
}

.org-committee-table--wrap td,
.org-committee-table--wrap th {
  white-space: normal !important;
  word-break: keep-all;
  min-width: 60px;
}

/* ══ クラブ紹介：クラブ概要テーブル ══ */

/* ── デスクトップ（通常テーブル表示）── */
.club-info-table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 28px;
}
.club-info-table th,
.club-info-table td {
  padding: 13px 18px;
  border: 1px solid #E2E0D8;
  vertical-align: middle;
  line-height: 1.75;
}
.club-info-table th {
  background: #002A6E;
  color: #fff;
  font-weight: 700;
  width: 30%;
  text-align: left;
  white-space: nowrap;
}
.club-info-table td {
  background: #fff;
  color: #333;
  word-break: keep-all;
  overflow-wrap: anywhere;
}
/* エンブレム画像（テーブル外の独立配置） */
.club-emblem {
  text-align: right;
  margin-bottom: 16px;
}
.club-emblem img {
  max-width: 120px;
  height: auto;
  display: inline-block;
}

/* ── スマホ（768px以下：縦積みカード式）── */
@media (max-width: 768px) {
  .club-info-table,
  .club-info-table tbody,
  .club-info-table tr,
  .club-info-table th,
  .club-info-table td {
    display: block;
    width: 100%;
    box-sizing: border-box;
  }

  .club-info-table tr {
    margin-bottom: 12px;
    border: 1px solid #E2E0D8;
    border-radius: 6px;
    overflow: hidden;
  }

  .club-info-table th {
    background: #002A6E;
    color: #fff;
    padding: 9px 16px;
    font-size: 0.9rem;
    font-weight: 700;
    border: none;
    white-space: normal;
  }

  .club-info-table td {
    background: #fff;
    color: #333;
    padding: 13px 16px;
    border: none;
    font-size: 1rem;
    word-break: keep-all;
    overflow-wrap: anywhere;
    line-height: 1.75;
  }

  /* エンブレム：スマホでは中央寄せ・小さめ表示 */
  .club-emblem {
    text-align: center;
    margin-bottom: 20px;
  }
  .club-emblem img {
    max-width: 90px;
  }
}

/* ══════════════════════════════════════════════
   プライバシーポリシーページ
   ══════════════════════════════════════════════ */
.privacy-content {
  max-width: 900px;
  margin: 0 auto;
}

.privacy-intro {
  font-size: 15px;
  line-height: 1.85;
  color: #444;
  margin-bottom: 32px;
}

.privacy-section {
  background: #fff;
  border: 1px solid #e5e5e5;
  border-radius: 8px;
  box-shadow: 0 2px 6px rgba(0,0,0,0.04);
  padding: 28px 32px;
  margin-bottom: 24px;
}

.privacy-section-header {
  display: flex;
  align-items: center;
  gap: 14px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 2px solid #B8922A;
}

.privacy-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 50%;
  background: #002A6E;
  color: #fff;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
}

.privacy-section-header h2 {
  margin: 0 !important;
  padding: 0 !important;
  font-size: 1.15rem !important;
  font-weight: 700 !important;
  color: #002A6E !important;
  border: none !important;
  line-height: 1.4 !important;
  font-family: 'Zen Kaku Gothic New', 'Noto Sans JP', sans-serif !important;
}

.privacy-section-body p {
  margin: 0 0 12px;
  line-height: 1.8;
  color: #333;
  font-size: 14px;
}
.privacy-section-body p:last-child {
  margin-bottom: 0;
}

.privacy-section-body ul {
  margin: 0 0 12px;
  padding-left: 1.4em;
  line-height: 1.8;
  font-size: 14px;
  color: #333;
}
.privacy-section-body li {
  margin-bottom: 4px;
}

.privacy-section.privacy-contact {
  background: #f8f6f0;
  border-color: #B8922A;
}

@media (max-width: 768px) {
  .privacy-section {
    padding: 20px 18px;
  }
  .privacy-section-header h2 {
    font-size: 1.0rem !important;
  }
  .privacy-number {
    width: 30px;
    height: 30px;
    min-width: 30px;
    font-size: 0.9rem;
  }
}

/* ========================================
   入会案内 CTAセクション
======================================== */
.join-cta-wrap {
  max-width: 1160px;
  margin: 0 auto;
  padding: 0 48px 88px;
}

.entry-cta {
  max-width: 700px;
  margin: 0 auto;
  text-align: center;
  background: linear-gradient(135deg, #002A6E, #003a8c);
  border-radius: 8px;
  padding: 48px 24px;
}

.entry-cta-lead {
  color: #fff;
  font-size: 1.05rem;
  margin-bottom: 24px;
  line-height: 1.7;
}

.entry-cta-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  background: #B8922A;
  color: #fff;
  font-size: 1.2rem;
  font-weight: 700;
  padding: 18px 40px;
  border-radius: 50px;
  text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s;
  box-shadow: 0 4px 14px rgba(184,146,42,0.4);
}

.entry-cta-btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 6px 20px rgba(184,146,42,0.55);
  color: #fff;
}

.entry-cta-arrow {
  font-size: 1.3rem;
  transition: transform 0.2s;
}

.entry-cta-btn:hover .entry-cta-arrow {
  transform: translateX(4px);
}

@media (max-width: 768px) {
  .join-cta-wrap {
    padding: 0 24px 56px;
  }
  .entry-cta {
    padding: 36px 18px;
  }
  .entry-cta-lead {
    font-size: 0.92rem;
  }
  .entry-cta-btn {
    font-size: 1.05rem;
    padding: 16px 28px;
    width: 100%;
    box-sizing: border-box;
  }
}
