/*
Theme Name: JFSA Rebrand 2026
Template: JFSA
Version: 1.6.0
Description: JFSA公式サイト リブランディング用子テーマ
*/
@charset "UTF-8";
:root{--primary:#7B6A7F;--secondary:#D6CFDA;--gold:#D8C6A3;--base:#FAF8F5;--ink:#2A2A2A;--muted:#7C7C7C;--line:#E6E2E6}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--base);color:var(--ink);font-family:"Noto Serif JP","Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;line-height:1.9;letter-spacing:.045em}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}.jfsa-header{height:112px;display:flex;align-items:center;gap:42px;padding:0 5.5vw;background:rgba(250,248,245,.96);position:sticky;top:0;z-index:50;border-bottom:1px solid rgba(123,106,127,.12);transition:.35s}.admin-bar .jfsa-header{top:32px}.has-scrolled .jfsa-header{height:82px;background:rgba(250,248,245,.88);box-shadow:0 12px 40px rgba(72,56,75,.09);backdrop-filter:blur(18px)}.jfsa-brand{display:flex;align-items:center;gap:16px;min-width:340px}.jfsa-brand b{font-size:17px;font-weight:500;white-space:nowrap}.jfsa-brand small{display:block;font:9px Georgia;letter-spacing:.12em;color:var(--primary)}.monogram{font:34px/21px Georgia;color:var(--primary);letter-spacing:-.15em;width:42px}.monogram i{color:var(--gold);font-style:normal;margin-left:12px}.jfsa-header nav{display:flex;justify-content:center;gap:28px;flex:1;font-size:13px;white-space:nowrap}.jfsa-header nav a{position:relative}.jfsa-header nav a:after{content:"";position:absolute;left:0;right:100%;bottom:-8px;height:1px;background:var(--primary);transition:.3s}.jfsa-header nav a:hover:after{right:0}.header-cta,.btn{display:inline-flex;align-items:center;justify-content:space-between;gap:25px}.header-cta{background:var(--gold);padding:14px 22px;color:#fff;font-size:12px;white-space:nowrap}.jfsa-hero{min-height:630px;display:grid;grid-template-columns:48% 52%;background:#fff;overflow:hidden}.hero-copy{padding:90px 5vw 70px 7vw;z-index:2}.eyebrow{font:11px Georgia;letter-spacing:.18em;color:var(--primary);margin:0 0 26px}.jfsa-hero h1,.section h2,.statement h2,.join h2{font-weight:400;color:#5f5262;letter-spacing:.11em}.jfsa-hero h1{font-size:clamp(39px,4vw,64px);line-height:1.5;margin:0 0 22px}.lead{font-size:14px;line-height:2.1;margin-bottom:30px}.actions{display:flex;gap:18px}.btn{padding:14px 23px;min-width:195px;font-size:12px}.primary{background:var(--primary);color:#fff}.outline{border:1px solid #bdb4bf;background:#fff;color:var(--primary)}.hero-visual{position:relative;min-height:630px;overflow:hidden}.hero-visual:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0,transparent 22%,transparent 80%,#faf8f5 100%);z-index:1}.hero-visual img{width:100%;height:100%;object-fit:cover;animation:heroZoom 1.5s cubic-bezier(.22,1,.36,1) both}.hero-message{position:absolute;z-index:2;right:5.5vw;top:120px;display:flex;gap:23px;color:#645668;font-size:17px;line-height:2}.hero-message span{width:1px;background:var(--gold)}.promise{padding:27px 7vw 34px;background:#f3eef1}.promise-title{display:flex;align-items:center;justify-content:center;gap:18px;margin-bottom:21px;font-size:13px}.promise-title i{width:35px;height:1px;background:#c8c1c6}.promise-grid{display:grid;grid-template-columns:repeat(4,1fr);max-width:1280px;margin:auto}.promise-grid p{margin:0;padding:0 30px;font-size:12px;border-right:1px solid #ddd5dc}.promise-grid p:last-child{border:0}.promise-grid b{display:block;color:var(--primary);font-size:15px}.profession{text-align:center;padding:110px 20px;background:#fff}.profession h2{font-size:clamp(40px,5vw,70px);font-weight:400;line-height:1.35;letter-spacing:.13em;color:#3b343c;margin:0 0 25px}.profession h2 em{color:var(--primary);font-style:normal}.profession>p:last-child{font-size:13px;color:var(--muted)}.section{padding:100px 7vw;max-width:1440px;margin:auto}.section-head h2{font-size:clamp(29px,3vw,46px);line-height:1.65;margin:0;font-weight:400;color:#5f5262}.gold{color:#b99761}.intro{display:grid;grid-template-columns:1fr 1fr;gap:10vw;align-items:end}.intro-body{font-size:14px}.text-link{display:inline-block;color:var(--primary);border-bottom:1px solid var(--primary);padding:8px 0;margin-top:18px;font-size:12px}.features{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:42px}.features article{background:#fff;transition:.4s}.features article:hover,.plans article:hover{transform:translateY(-9px);box-shadow:0 24px 55px rgba(80,62,84,.14)}.feature-image{height:195px;background-size:cover;background-position:center;position:relative}.feature-image span{position:absolute;left:20px;top:15px;color:#fff;font:12px Georgia}.feature-text{background:var(--primary);color:#fff;padding:20px 22px 24px;min-height:160px}.feature-text h3{font-size:18px;font-weight:400;margin:0}.feature-text p{font-size:12px}.feature-text a{font-size:10px;float:right}.message{display:grid;grid-template-columns:42% 58%;gap:8vw;align-items:center}.message-photo img{width:100%;max-height:620px;object-fit:cover}.message-copy h2{font-size:40px;font-weight:400;color:#5f5262}.message-copy>p{font-size:13px}.signature{font-size:21px!important;color:var(--primary);text-align:right}.signature small{display:block;font-size:10px}.certification,.statement{max-width:1440px;margin:0 auto 70px;display:grid;grid-template-columns:54% 46%;background:#f0ebef}.cert-copy,.statement>div{padding:80px 8vw}.certification h2,.statement h2{font-size:40px;font-weight:400;color:#5f5262;line-height:1.6}.cert-copy>p:not(.eyebrow),.statement p{font-size:13px}.certification>img,.statement>img{width:100%;height:100%;min-height:500px;object-fit:cover}.plans{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:45px}.plans article{position:relative;background:#fff;border:1px solid var(--line);padding:40px;text-align:center;transition:.4s}.plans article.featured{background:var(--primary);color:#fff;transform:translateY(-10px)}.plans h3{font-size:20px;font-weight:400}.price{font:38px Georgia}.price small{font-size:12px}.plans ul{list-style:none;padding:20px 0;border-top:1px solid rgba(123,106,127,.2);text-align:left;font-size:12px}.plans a{display:block;border-top:1px solid;padding-top:16px;font-size:11px}.recommended{position:absolute;top:-14px;left:50%;transform:translateX(-50%);background:var(--gold);padding:3px 22px;font-size:10px}.center{text-align:center}.brand-proof{display:grid;grid-template-columns:42% 58%;gap:7vw;align-items:center}.proof-visual{position:relative}.proof-visual img{width:100%;height:420px;object-fit:cover}.proof-items{position:absolute;left:-35px;bottom:-35px;background:var(--primary);color:#fff;display:grid;grid-template-columns:38px 1fr;gap:10px 16px;padding:24px 30px;min-width:300px}.proof-items span{color:var(--gold);font:11px Georgia}.proof-items b{font-weight:400;font-size:13px}.faq-list{max-width:900px;margin:45px auto 0;border-top:1px solid var(--line)}.faq-list details{border-bottom:1px solid var(--line);padding:0 18px;transition:.3s}.faq-list summary{cursor:pointer;list-style:none;padding:22px 40px 22px 0;position:relative;font-size:14px}.faq-list summary:after{content:"＋";position:absolute;right:0;color:var(--primary);font-size:20px}.faq-list details[open] summary:after{content:"−"}.faq-list details p{margin:0 0 24px;color:var(--muted);font-size:13px}.news{background:var(--primary);color:#fff;padding:42px 8vw}.news-inner{max-width:1200px;margin:auto;display:grid;grid-template-columns:170px 1fr;gap:0 40px}.news h2{grid-row:1/5;font-size:19px;font-weight:400}.news a{display:grid;grid-template-columns:120px 1fr 30px;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.25);font-size:12px}.news time{color:var(--gold)}.join{text-align:center;padding:100px 20px;background:linear-gradient(rgba(250,248,245,.92),rgba(250,248,245,.92)),url('assets/brand.webp') center/cover}.join h2{font-size:38px;margin:0}.jfsa-footer{padding:45px 7vw;display:flex;justify-content:space-between;align-items:center;background:#fff}.jfsa-footer nav{display:flex;gap:24px;font-size:10px;color:var(--muted)}.jfsa-footer p{font:10px Georgia;color:var(--muted)}.reveal{opacity:0;transform:translateY(46px);transition:opacity .9s cubic-bezier(.22,1,.36,1),transform .9s cubic-bezier(.22,1,.36,1)}.reveal.visible{opacity:1;transform:none}.btn,.header-cta{transition:.3s}.btn:hover,.header-cta:hover{transform:translateY(-2px);box-shadow:0 12px 30px rgba(91,71,94,.18)}@keyframes heroZoom{from{opacity:.4;transform:scale(1.08)}to{opacity:1;transform:scale(1)}}
@media(max-width:1050px){.jfsa-header nav{display:none}.header-cta{margin-left:auto}.jfsa-hero{grid-template-columns:1fr}.hero-visual{min-height:460px}.promise-grid{grid-template-columns:1fr 1fr;gap:25px}}
@media(max-width:700px){.admin-bar .jfsa-header{top:46px}.jfsa-header{height:76px;padding:0 4vw}.jfsa-brand{min-width:0}.jfsa-brand b{font-size:12px}.jfsa-brand small{font-size:7px}.header-cta{padding:10px;font-size:10px}.jfsa-hero{grid-template-columns:1fr}.hero-copy{padding:55px 6vw 35px}.jfsa-hero h1{font-size:38px}.actions{flex-direction:column}.btn{width:100%}.hero-visual{min-height:390px}.hero-message{top:35px;font-size:14px}.promise-grid{grid-template-columns:1fr}.promise-grid p{border:0;border-bottom:1px solid #ddd5dc;padding:12px 0}.section{padding:72px 6vw}.intro,.message,.brand-proof,.certification,.statement{grid-template-columns:1fr;gap:35px}.features,.plans{grid-template-columns:1fr}.cert-copy,.statement>div{padding:65px 7vw}.certification>img,.statement>img{height:300px;min-height:0}.plans article.featured{transform:none}.proof-items{left:15px;right:15px;min-width:0}.news-inner{grid-template-columns:1fr}.news h2{grid-row:auto}.news a{grid-template-columns:1fr 30px}.news time{grid-column:1/-1}.jfsa-footer{flex-direction:column;gap:25px;align-items:flex-start}.jfsa-footer nav{flex-direction:column;gap:8px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}

/* Brand typography — proposal specification */
:root{--font-body:"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;--font-display:"Noto Serif JP","Yu Mincho",YuMincho,"Hiragino Mincho ProN",serif;--font-en:"Cormorant Garamond",Georgia,serif}
body{font-family:var(--font-body);font-weight:400;line-height:1.9;letter-spacing:.035em;font-feature-settings:"palt" 1}
body{font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased}
b,strong{font-family:var(--font-body);font-weight:600}
button,input,textarea,select,.header-cta,.btn{font-family:var(--font-body)}
h1,h2,.profession h2,.statement h2,.join h2,.message-copy h2,.certification h2{font-family:var(--font-display);font-weight:500}
h3,.jfsa-brand b{font-family:var(--font-body)}
.jfsa-brand b{font-weight:500;letter-spacing:.055em}
.jfsa-brand small{font:500 11px/1.4 var(--font-en);letter-spacing:.08em}
.monogram{font:500 38px/20px var(--font-en)}
.eyebrow{font:500 14px/1.2 var(--font-en);letter-spacing:.16em}
.jfsa-header nav,.header-cta,.btn{font-weight:500;letter-spacing:.035em}
.promise-grid b,.proof-items b,.feature-text h3,.plans h3,.faq-list summary{font-weight:600}
.price,.feature-image span,.proof-items span,.news time,.jfsa-footer p{font-family:var(--font-en)}
.official-logo{width:76px;height:76px;object-fit:contain;flex:0 0 76px}
.jfsa-footer .official-logo{width:88px;height:88px;flex-basis:88px}
@media(max-width:700px){.official-logo{width:54px;height:54px;flex-basis:54px}.jfsa-footer .official-logo{width:72px;height:72px;flex-basis:72px}}
.legal-hero{padding:92px 7vw 58px;background:linear-gradient(135deg,#f3eef1,#faf8f5);border-bottom:1px solid var(--line)}.legal-hero-inner,.legal-content{max-width:1040px;margin:auto}.legal-hero h1{font-size:clamp(34px,4vw,54px);font-weight:400;color:var(--primary);letter-spacing:.1em;margin:0}.legal-content{padding:75px 7vw 110px}.legal-content h2{color:var(--primary);font-size:25px;font-weight:500;margin:58px 0 18px;padding-bottom:12px;border-bottom:1px solid var(--secondary)}.legal-content h3{color:#5f5262;font-size:18px;font-weight:600;margin:38px 0 12px}.legal-content p,.legal-content li{font-size:14px;line-height:2.1}.legal-content a{color:var(--primary);text-decoration:underline;text-underline-offset:4px}.legal-table{width:100%;border-collapse:collapse;background:#fff;box-shadow:0 18px 45px rgba(80,62,84,.08)}.legal-table th,.legal-table td{padding:22px 24px;border-bottom:1px solid var(--line);vertical-align:top;text-align:left;font-size:14px;line-height:1.9}.legal-table th{width:30%;background:#f3eef1;color:var(--primary);font-weight:600}.legal-back{display:inline-flex;margin-top:48px;padding:13px 22px;background:var(--primary);color:#fff!important;text-decoration:none!important;font-weight:600}@media(max-width:700px){.legal-hero{padding:60px 6vw 40px}.legal-content{padding:55px 6vw 80px}.legal-table th,.legal-table td{display:block;width:100%;padding:16px 18px}.legal-table th{border-bottom:0}}

/* Legacy article pages — rebrand bridge */
body.single{background:var(--base);font-family:var(--font-body);color:var(--ink)}
body.single #header{position:sticky;top:0;z-index:40;background:rgba(250,248,245,.96);border-bottom:1px solid rgba(123,106,127,.14);box-shadow:0 8px 30px rgba(72,56,75,.06)}
.admin-bar.single #header{top:32px}
body.single .inner-header{min-height:96px;max-width:1320px;padding:0 5vw;margin:auto}
body.single .logo__img{width:112px!important;height:78px!important;object-fit:contain}
body.single .menu__link{font-family:var(--font-body);font-size:13px;font-weight:500;letter-spacing:.035em;color:var(--ink)}
body.single .menu__list:last-child .menu__link{background:var(--primary)!important;color:#fff!important;border-color:var(--primary)!important}
body.single .page-title__wrapper{min-height:210px!important;padding:62px 7vw!important;background:linear-gradient(135deg,#eee8ed 0%,#faf8f5 65%,#f5efe7 100%)!important;color:var(--primary)!important}
body.single .page-title__wrapper>*{max-width:1040px;margin-left:auto;margin-right:auto}
body.single .page-title{height:auto!important;min-height:0!important;padding:0!important;margin:0 auto!important}
body.single .page-title__wrapper h1{font-family:var(--font-display);font-weight:500;letter-spacing:.12em;color:var(--primary)}
body.single .page-title__wrapper .en{font-family:var(--font-en);letter-spacing:.16em;color:#b99761}
body.single .breadcrumb__wrapper{background:transparent!important;border:0!important;padding:24px 7vw!important;color:var(--muted)}
body.single .breadcrumb{max-width:1040px;margin:auto;font-size:12px}
body.single #article{max-width:1040px!important;margin:18px auto 100px!important;padding:64px 72px 80px!important;background:#fff;box-shadow:0 22px 60px rgba(80,62,84,.08)}
body.single .article-cat{display:inline-flex!important;padding:7px 20px!important;border-radius:0!important;background:var(--primary)!important;color:#fff!important;font-size:12px!important}
body.single .article-title{font-family:var(--font-display)!important;font-size:clamp(27px,3.2vw,42px)!important;font-weight:500!important;line-height:1.55!important;letter-spacing:.055em!important;color:#4f4551!important}
body.single .article-date{font-family:var(--font-en);color:#9b8f9d!important;letter-spacing:.08em}
body.single #article p{font-size:15px;line-height:2.05}
body.single #article h2{font-family:var(--font-display);font-weight:500;color:var(--primary);border-left:3px solid var(--gold);padding:8px 0 8px 22px;margin-top:58px}
body.single #article a{color:var(--primary);text-underline-offset:4px}
body.single #article .color-btn{background:var(--primary)!important;border-color:var(--primary)!important;color:#fff!important;font-family:var(--font-body);font-weight:500}
@media(max-width:700px){.admin-bar.single #header{top:46px}body.single .inner-header{min-height:74px;padding:0 5vw}body.single .logo__img{width:68px!important;height:58px!important}body.single .page-title__wrapper{min-height:150px!important;padding:42px 6vw!important}body.single #article{margin:8px 4vw 70px!important;padding:38px 6vw 55px!important}body.single .article-title{font-size:27px!important}}

/* Brand refinement 2026-07-21 */
.jfsa-hero h1,
.profession h2,
.section-head h2,
.message-copy h2,
.certification h2,
.statement h2,
.join h2,
.legal-hero h1,
body.single .page-title__wrapper h1,
body.single .article-title{
  font-family:"Shippori Mincho B1","Noto Serif JP","Yu Mincho",serif!important;
  font-weight:700!important;
}
.hero-message{
  left:5.5vw;
  right:auto;
  text-align:left;
}
.message-copy>p{
  line-height:2;
}
.message-vision{
  margin:30px 0;
}
.message-vision strong{
  color:var(--primary);
  font-family:"Shippori Mincho B1","Noto Serif JP",serif;
  font-size:1.14em;
  font-weight:700;
  letter-spacing:.06em;
}
.signature{
  margin-top:34px;
}
.signature small{
  margin-bottom:4px;
  font-family:var(--font-body);
  font-weight:500;
  line-height:1.7;
}
.signature span{
  display:block;
  font-family:"Yuji Syuku","Klee One","Hiragino Mincho ProN",cursive;
  font-size:1.55em;
  font-weight:400;
  letter-spacing:.12em;
}
#fixedHeader__g-nav .menu__link:hover,
#g-nav .menu__link:hover{
  color:var(--primary)!important;
}
#spMenu-btn{
  background-color:var(--primary)!important;
}
@media(max-width:700px){
  .hero-message{
    left:6vw;
    right:auto;
    text-align:left;
  }
}

.feature-image img{width:100%;height:100%;object-fit:cover;object-position:center}

/* Premium typography refinement 2026-07-22 */
:root{
  --font-display:"Shippori Mincho B1","Noto Serif JP","Yu Mincho",serif;
  --font-reading:"Noto Serif JP","Yu Mincho",serif;
}
.jfsa-hero h1,
.profession h2,
.section-head h2,
.message-copy h2,
.certification h2,
.statement h2,
.join h2{
  font-family:var(--font-display)!important;
  font-weight:700!important;
  letter-spacing:.085em;
}
.profession h2 em{
  font-family:var(--font-display);
  font-weight:700;
  font-style:normal;
  letter-spacing:.08em;
}
.lead,
.profession>p:last-child,
.intro-body,
.message-copy>p,
.cert-copy>p:not(.eyebrow),
.statement p{
  font-family:var(--font-reading);
  font-weight:500;
  letter-spacing:.045em;
}
.lead{
  font-size:15px;
  line-height:2.15;
}

/* About page rebrand 2026-07-22 */
body.page-id-70{
  background:var(--base);
  color:var(--ink);
  font-family:var(--font-body);
}
body.page-id-70 #header,
body.page-id-70 #fixedHeader{
  background:rgba(250,248,245,.96)!important;
  border-bottom:1px solid rgba(123,106,127,.14);
  box-shadow:0 8px 30px rgba(72,56,75,.06);
}
body.page-id-70 .inner-header{
  max-width:1320px;
  min-height:96px;
  margin:auto;
  padding:0 5vw;
}
body.page-id-70 .logo__img{
  width:112px!important;
  height:78px!important;
  object-fit:contain;
}
body.page-id-70 .menu__link{
  color:var(--ink)!important;
  font-family:var(--font-body);
  font-size:13px;
  font-weight:500;
}
body.page-id-70 .menu__list:last-child .menu__link{
  background:var(--primary)!important;
  border-color:var(--primary)!important;
  color:#fff!important;
}
body.page-id-70 .page-title__wrapper{
  min-height:250px!important;
  padding:72px 7vw!important;
  background:linear-gradient(135deg,#eee8ed 0%,#faf8f5 62%,#f5efe7 100%)!important;
  color:var(--primary)!important;
}
body.page-id-70 .page-title{
  height:auto!important;
  min-height:0!important;
  padding:0!important;
}
body.page-id-70 .page-title__en{
  color:#b99761!important;
  font-family:var(--font-en)!important;
  font-size:15px!important;
  font-weight:500;
  letter-spacing:.18em;
}
body.page-id-70 .page-title__ja{
  color:var(--primary)!important;
  font-family:var(--font-display)!important;
  font-size:clamp(34px,4vw,54px)!important;
  font-weight:700!important;
  letter-spacing:.1em;
}
body.page-id-70 .breadcrumb__wrapper{
  background:transparent!important;
  border:0!important;
  padding:22px 7vw!important;
}
body.page-id-70 .breadcrumb{
  max-width:1040px;
  margin:auto;
  color:var(--muted);
  font-size:12px;
}
body.page-id-70 #message,
body.page-id-70 #profile,
body.page-id-70 #movie{
  margin:0!important;
  padding:100px 7vw!important;
}
body.page-id-70 #message,
body.page-id-70 #movie{background:#fff!important}
body.page-id-70 #profile{background:#f3eef1!important}
body.page-id-70 #message .inner,
body.page-id-70 #profile .inner,
body.page-id-70 #movie .inner{
  width:100%!important;
  max-width:1120px!important;
  margin:auto!important;
}
body.page-id-70 .sectionTitle{
  margin:0 0 48px!important;
  text-align:left!important;
}
body.page-id-70 .sectionTitle__en{
  display:block;
  color:#b99761!important;
  font-family:var(--font-en)!important;
  font-size:15px!important;
  font-weight:500;
  letter-spacing:.18em;
}
body.page-id-70 .sectionTitle__ja{
  display:block;
  margin-top:8px;
  color:#5f5262!important;
  font-family:var(--font-display)!important;
  font-size:clamp(29px,3vw,42px)!important;
  font-weight:700!important;
  letter-spacing:.08em;
}
body.page-id-70 .message-columns{
  display:grid!important;
  grid-template-columns:minmax(0,1.05fr) minmax(320px,.75fr)!important;
  gap:7vw!important;
  align-items:start!important;
}
body.page-id-70 .message-column.--text{width:auto!important}
body.page-id-70 .message-column.--img{width:auto!important}
body.page-id-70 .message-column__text{
  margin:0!important;
  color:var(--ink)!important;
  font-family:var(--font-reading)!important;
  font-size:14px!important;
  font-weight:500;
  line-height:2.05!important;
  letter-spacing:.045em;
}
body.page-id-70 .message-column__text .message-vision{
  color:var(--primary);
  font-family:var(--font-display);
  font-size:1.1em;
  font-weight:700;
}
body.page-id-70 .ceo-position{
  margin:34px 0 0!important;
  color:var(--muted)!important;
  font-size:11px!important;
  text-align:right;
}
body.page-id-70 .ceo-name{
  margin:3px 0 0!important;
  color:var(--primary)!important;
  font-family:"Yuji Syuku","Klee One",cursive!important;
  font-size:32px!important;
  letter-spacing:.12em;
  text-align:right;
}
body.page-id-70 .message-column__img{
  display:block;
  overflow:hidden;
  box-shadow:0 24px 55px rgba(80,62,84,.14);
}
body.page-id-70 .message-column__img img{
  width:100%!important;
  min-height:520px;
  object-fit:cover;
}
body.page-id-70 .og-table{
  width:100%!important;
  border-collapse:collapse!important;
  background:#fff!important;
  box-shadow:0 18px 45px rgba(80,62,84,.08);
}
body.page-id-70 .og-table th,
body.page-id-70 .og-table td{
  padding:22px 26px!important;
  border:0!important;
  border-bottom:1px solid var(--line)!important;
  color:var(--ink)!important;
  font-family:var(--font-reading);
  font-size:14px!important;
  line-height:1.8;
}
body.page-id-70 .og-table th{
  width:28%!important;
  background:#eee8ed!important;
  color:var(--primary)!important;
  font-weight:700;
}
body.page-id-70 .og-table a{color:var(--primary)!important}
body.page-id-70 .movie-card__wrapper{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:30px!important;
}
body.page-id-70 .movie-card{
  margin:0!important;
  background:var(--base)!important;
  border:1px solid var(--line);
  transition:transform .3s,box-shadow .3s;
}
body.page-id-70 .movie-card:hover{
  transform:translateY(-7px);
  box-shadow:0 22px 48px rgba(80,62,84,.12);
}
body.page-id-70 .movie-card__thumbnail{
  overflow:hidden;
  aspect-ratio:16/9;
}
body.page-id-70 .movie-card__thumbnail img{
  width:100%!important;
  height:100%!important;
  object-fit:cover;
}
body.page-id-70 .movie-card__text{
  padding:22px 24px 26px!important;
  background:transparent!important;
}
body.page-id-70 .movie-card__number{
  color:#b99761!important;
  font-family:var(--font-en)!important;
  font-size:14px!important;
}
body.page-id-70 .movie-card__title{
  margin-top:8px!important;
  color:#5f5262!important;
  font-family:var(--font-display)!important;
  font-size:19px!important;
  font-weight:700!important;
}
@media(max-width:700px){
  body.page-id-70 .inner-header{min-height:74px;padding:0 5vw}
  body.page-id-70 .logo__img{width:68px!important;height:58px!important}
  body.page-id-70 .page-title__wrapper{min-height:170px!important;padding:46px 6vw!important}
  body.page-id-70 #message,
  body.page-id-70 #profile,
  body.page-id-70 #movie{padding:70px 6vw!important}
  body.page-id-70 .message-columns{grid-template-columns:1fr!important;gap:42px!important}
  body.page-id-70 .message-column__img img{min-height:360px}
  body.page-id-70 .movie-card__wrapper{grid-template-columns:1fr!important}
  body.page-id-70 .og-table th,
  body.page-id-70 .og-table td{display:block;width:100%!important;padding:16px 18px!important}
  body.page-id-70 .og-table th{border-bottom:0!important}
}

/* Hero remote certification CTA */
.actions{flex-wrap:wrap}
.actions .remote{
  flex-basis:195px;
  background:var(--gold);
  border:1px solid var(--gold);
  color:#fff;
}
.actions .remote:hover{
  background:#b99761;
  border-color:#b99761;
}
@media(max-width:700px){
  .actions .remote{flex-basis:auto}
}

/* News readability refinement */
.news{
  background:#f3eef1!important;
  color:var(--ink)!important;
  padding:64px 8vw!important;
}
.news-inner{
  max-width:1200px;
  margin:auto;
  grid-template-columns:180px minmax(0,1fr)!important;
  gap:0 48px!important;
}
.news h2{
  color:var(--primary)!important;
  font-family:var(--font-display)!important;
  font-size:28px!important;
  font-weight:700!important;
  letter-spacing:.08em;
}
.news a{
  grid-template-columns:130px minmax(0,1fr) 36px!important;
  align-items:center;
  padding:20px 8px!important;
  border-bottom:1px solid #d6cfda!important;
  color:var(--ink)!important;
  font-size:14px!important;
  line-height:1.75;
  transition:background .25s,padding .25s;
}
.news a:hover{
  padding-left:16px!important;
  padding-right:16px!important;
  background:rgba(255,255,255,.65);
}
.news time{
  color:var(--primary)!important;
  font-family:var(--font-en)!important;
  font-size:14px;
  font-weight:600;
  letter-spacing:.06em;
}
.news a span{
  color:var(--ink)!important;
  font-family:var(--font-reading);
  font-weight:500;
}
.news a b{
  color:#b99761!important;
  font-size:19px;
  text-align:right;
}
@media(max-width:700px){
  .news{padding:54px 6vw!important}
  .news-inner{grid-template-columns:1fr!important;gap:20px!important}
  .news h2{grid-row:auto!important;margin:0 0 10px;font-size:25px!important}
  .news a{grid-template-columns:minmax(0,1fr) 30px!important;padding:18px 4px!important}
  .news time{grid-column:1/-1!important;margin-bottom:3px;font-size:13px}
  .news a span{font-size:14px;line-height:1.7}
}

/* Article link and icon rebrand */
body.single .breadcrumb a,
body.single .breadcrumb .taxonomy{
  color:var(--primary)!important;
  font-weight:600;
}
body.single .breadcrumb a.home::before{
  content:"⌂"!important;
  display:inline-block!important;
  width:auto!important;
  height:auto!important;
  margin-right:6px!important;
  background:none!important;
  color:var(--primary)!important;
  font-family:var(--font-en)!important;
  font-size:15px;
  line-height:1;
}
body.single #article a.article-cat{
  background:var(--primary)!important;
  border-color:var(--primary)!important;
  color:#fff!important;
}
body.single #article a:not(.article-cat):not(.color-btn){
  color:var(--primary)!important;
  font-weight:600;
  text-decoration:underline;
  text-decoration-color:var(--gold);
  text-decoration-thickness:1px;
  text-underline-offset:4px;
}
body.single #article a[href^="http"]:not([href*="hi-syo.com"]):not(.color-btn)::after{
  content:"↗";
  display:inline-block;
  margin-left:.35em;
  color:#b99761;
  font-family:var(--font-en);
  font-size:.9em;
  text-decoration:none;
}
body.single #article .color-btn::after{
  content:"→";
  margin-left:12px;
  color:var(--gold);
  font-family:var(--font-en);
}

/* Feature card contrast refinement */
.feature-text{
  background:var(--primary)!important;
  color:#fff!important;
}
.feature-text h3{
  color:#fff!important;
  font-weight:700!important;
  letter-spacing:.06em;
}
.feature-text p{
  color:rgba(255,255,255,.92)!important;
  font-weight:500;
  line-height:1.8;
}
.feature-text a{
  color:#fff!important;
  font-weight:600;
}
.feature-text a::after{
  content:"";
  display:inline-block;
  width:18px;
  height:1px;
  margin-left:8px;
  vertical-align:middle;
  background:var(--gold);
}


/* Secretary archive rebrand — 2026-07-22 */
body.post-type-archive-secretary {
  --sec-primary: #7b6a7f;
  --sec-primary-deep: #5f5064;
  --sec-secondary: #d6cfda;
  --sec-accent: #d8c6a3;
  --sec-base: #faf8f5;
  --sec-text: #2a2a2a;
  background: var(--sec-base);
  color: var(--sec-text);
  font-family: "Noto Sans JP", sans-serif;
}
body.post-type-archive-secretary #header {
  background: rgba(250,248,245,.96);
  border-bottom: 1px solid rgba(123,106,127,.16);
  box-shadow: 0 8px 30px rgba(63,48,66,.06);
}
body.post-type-archive-secretary #header .inner-header {
  max-width: 1280px;
  min-height: 96px;
  padding-inline: clamp(24px,5vw,72px);
}
body.post-type-archive-secretary #header .logo__img {
  width: 205px;
  height: 70px;
  object-fit: contain;
  object-position: left center;
}
body.post-type-archive-secretary #g-nav .menu__link {
  color: var(--sec-text);
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}
body.post-type-archive-secretary #g-nav .menu__link:hover {
  color: var(--sec-primary);
}
body.post-type-archive-secretary #g-nav .color-btn {
  background: var(--sec-primary);
  border-color: var(--sec-primary);
  color: #fff;
}
body.post-type-archive-secretary #g-nav .color-btn.--outline {
  background: transparent;
  color: var(--sec-primary);
}
body.post-type-archive-secretary .page-title__wrapper {
  position: relative;
  min-height: 330px;
  height: auto;
  margin: 0;
  overflow: hidden;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 85% 20%, rgba(216,198,163,.38), transparent 28%),
    radial-gradient(circle at 12% 92%, rgba(214,207,218,.68), transparent 34%),
    linear-gradient(135deg, #fdfbf8 0%, #f2edf2 100%);
}
body.post-type-archive-secretary .page-title__wrapper::after {
  content: "JFSA";
  position: absolute;
  right: clamp(24px,8vw,110px);
  bottom: -38px;
  font: 600 clamp(100px,17vw,220px)/1 "Cormorant Garamond", serif;
  color: rgba(123,106,127,.055);
  letter-spacing: .05em;
}
body.post-type-archive-secretary .page-title {
  position: relative;
  z-index: 1;
  width: min(1120px, calc(100% - 48px));
  margin: auto;
  padding: 64px 0;
  text-align: left;
}
body.post-type-archive-secretary .page-title__en {
  display: block;
  margin-bottom: 12px;
  color: #b49361;
  font: 600 15px/1.4 "Cormorant Garamond", serif;
  letter-spacing: .22em;
  text-transform: uppercase;
}
body.post-type-archive-secretary .page-title__ja {
  color: var(--sec-primary-deep);
  font-family: "Noto Serif JP", serif;
  font-size: clamp(38px,5vw,64px);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.35;
  text-shadow: none;
}
body.post-type-archive-secretary .breadcrumb__wrapper {
  background: #fff;
  border-block: 1px solid rgba(123,106,127,.12);
}
body.post-type-archive-secretary .breadcrumb {
  max-width: 1120px;
  padding: 16px 24px;
  color: #7c747e;
  font-size: 13px;
}
body.post-type-archive-secretary .breadcrumb a {
  color: var(--sec-primary);
  text-decoration: none;
}
body.post-type-archive-secretary .breadcrumb a::before {
  color: #b49361;
}
body.post-type-archive-secretary .inner-secretary {
  max-width: 1120px;
  padding: 80px 24px 110px;
}
body.post-type-archive-secretary .inner-secretary::before {
  content: "経験と専門性を持つ、協会所属の秘書をご紹介します。";
  display: block;
  margin: 0 auto 48px;
  color: #5f5861;
  font-family: "Noto Serif JP", serif;
  font-size: clamp(16px,2vw,20px);
  line-height: 2;
  text-align: center;
  letter-spacing: .05em;
}
body.post-type-archive-secretary .secretary-cards {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 36px 28px;
}
body.post-type-archive-secretary .secretary-card {
  width: auto;
  margin: 0;
  overflow: hidden;
  background: #fff;
  border: 1px solid rgba(123,106,127,.14);
  border-radius: 160px 160px 18px 18px;
  box-shadow: 0 16px 40px rgba(74,57,78,.09);
  transition: transform .3s ease, box-shadow .3s ease;
}
body.post-type-archive-secretary .secretary-card:hover {
  transform: translateY(-7px);
  box-shadow: 0 24px 54px rgba(74,57,78,.16);
}
body.post-type-archive-secretary .secretary-card__link {
  display: block;
  color: inherit;
  text-decoration: none;
}
body.post-type-archive-secretary .secretary-card__imgWrapper {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1.08;
  margin: 0;
  overflow: hidden;
  border-radius: 0;
  background: var(--sec-secondary);
}
body.post-type-archive-secretary .secretary-card__img,
body.post-type-archive-secretary .secretary-card__img img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .45s ease;
}
body.post-type-archive-secretary .secretary-card:hover img {
  transform: scale(1.035);
}
body.post-type-archive-secretary .secretary-card__textWrapper {
  position: relative;
  padding: 23px 20px 26px;
  text-align: center;
}
body.post-type-archive-secretary .secretary-card__textWrapper::before {
  content: "";
  display: block;
  width: 34px;
  height: 2px;
  margin: 0 auto 15px;
  background: var(--sec-accent);
}
body.post-type-archive-secretary .secretary-card__name {
  color: var(--sec-primary-deep);
  font-family: "Noto Serif JP", serif;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.6;
}
body.post-type-archive-secretary .secretary-card__data {
  margin-top: 7px;
  color: #857d87;
  font-size: 13px;
  letter-spacing: .08em;
}
body.post-type-archive-secretary .pagination {
  margin-top: 64px;
}
body.post-type-archive-secretary .pagination .page-numbers {
  border-color: var(--sec-secondary);
  color: var(--sec-primary);
}
body.post-type-archive-secretary .pagination .current,
body.post-type-archive-secretary .pagination .page-numbers:hover {
  background: var(--sec-primary);
  border-color: var(--sec-primary);
  color: #fff;
}
@media (max-width: 1023px) {
  body.post-type-archive-secretary .secretary-cards { grid-template-columns: repeat(2,minmax(0,1fr)); }
  body.post-type-archive-secretary #header .inner-header { min-height: 82px; }
  body.post-type-archive-secretary .page-title__wrapper { min-height: 280px; }
}
@media (max-width: 640px) {
  body.post-type-archive-secretary #header .logo__img { width: 154px; height: 56px; }
  body.post-type-archive-secretary .page-title__wrapper { min-height: 220px; }
  body.post-type-archive-secretary .page-title { padding: 42px 0; }
  body.post-type-archive-secretary .page-title__ja { font-size: 36px; }
  body.post-type-archive-secretary .inner-secretary { padding: 54px 18px 80px; }
  body.post-type-archive-secretary .inner-secretary::before { margin-bottom: 34px; text-align: left; }
  body.post-type-archive-secretary .secretary-cards { grid-template-columns: 1fr; gap: 28px; }
  body.post-type-archive-secretary .secretary-card { max-width: 380px; margin-inline: auto; }
}


/* Secretary title animation fallback */
body.post-type-archive-secretary .page-title .eachTextAnime {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.post-type-archive-secretary .page-title__en {
  color: #b49361 !important;
}


/* Secretary profile + legacy header rebrand — 2026-07-22 */
body.post-type-archive-secretary #spMenu-btn,
body.single-secretary #spMenu-btn {
  background: #7b6a7f !important;
}
body.post-type-archive-secretary #spMenu-btn:hover,
body.single-secretary #spMenu-btn:hover {
  background: #5f5064 !important;
}
body.post-type-archive-secretary #spMenu-btn .spMenu-btn__line,
body.single-secretary #spMenu-btn .spMenu-btn__line {
  background: #fff !important;
}
body.single-secretary {
  --profile-primary: #7b6a7f;
  --profile-deep: #5f5064;
  --profile-secondary: #d6cfda;
  --profile-accent: #d8c6a3;
  --profile-base: #faf8f5;
  --profile-text: #2a2a2a;
  background: var(--profile-base);
  color: var(--profile-text);
  font-family: "Noto Sans JP", sans-serif;
}
body.single-secretary #header {
  background: rgba(250,248,245,.96);
  border-bottom: 1px solid rgba(123,106,127,.16);
  box-shadow: 0 8px 30px rgba(63,48,66,.06);
}
body.single-secretary #header .inner-header {
  max-width: 1280px;
  min-height: 96px;
  padding-inline: clamp(24px,5vw,72px);
}
body.single-secretary #header .logo__img {
  width: 205px;
  height: 70px;
  object-fit: contain;
  object-position: left center;
}
body.single-secretary #g-nav .menu__link {
  color: var(--profile-text);
  font-family: "Noto Serif JP", serif;
  font-weight: 600;
}
body.single-secretary #g-nav .menu__link:hover { color: var(--profile-primary); }
body.single-secretary #g-nav .color-btn {
  background: var(--profile-primary);
  border-color: var(--profile-primary);
  color: #fff;
}
body.single-secretary #g-nav .color-btn.--outline {
  background: transparent;
  color: var(--profile-primary);
}
body.single-secretary .page-title__wrapper {
  position: relative;
  min-height: 300px;
  height: auto;
  overflow: hidden;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 84% 18%, rgba(216,198,163,.36), transparent 28%),
    radial-gradient(circle at 10% 90%, rgba(214,207,218,.66), transparent 34%),
    linear-gradient(135deg,#fdfbf8 0%,#f2edf2 100%);
}
body.single-secretary .page-title__wrapper::after {
  content: "PROFILE";
  position: absolute;
  right: clamp(22px,7vw,100px);
  bottom: -32px;
  color: rgba(123,106,127,.05);
  font: 600 clamp(86px,15vw,190px)/1 "Cormorant Garamond", serif;
  letter-spacing: .04em;
}
body.single-secretary .page-title {
  position: relative;
  z-index: 1;
  width: min(1120px,calc(100% - 48px));
  margin: auto;
  padding: 60px 0;
  text-align: left;
}
body.single-secretary .page-title .eachTextAnime {
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
body.single-secretary .page-title__en {
  display: block;
  margin-bottom: 12px;
  color: #b49361 !important;
  font: 600 15px/1.4 "Cormorant Garamond", serif;
  letter-spacing: .22em;
  text-transform: uppercase;
}
body.single-secretary .page-title__ja {
  color: var(--profile-deep);
  font-family: "Noto Serif JP", serif;
  font-size: clamp(38px,5vw,60px);
  font-weight: 700;
  letter-spacing: .08em;
  line-height: 1.35;
}
body.single-secretary .breadcrumb__wrapper {
  background: #fff;
  border-block: 1px solid rgba(123,106,127,.12);
}
body.single-secretary .breadcrumb {
  max-width: 1120px;
  padding: 16px 24px;
  color: #7c747e;
  font-size: 13px;
}
body.single-secretary .breadcrumb a {
  color: var(--profile-primary) !important;
  text-decoration: none;
}
body.single-secretary .inner-profile {
  max-width: 1120px;
  margin-block: 80px 110px;
  padding: clamp(30px,5vw,68px);
  background: #fff;
  border: 1px solid rgba(123,106,127,.14);
  border-radius: 24px;
  box-shadow: 0 22px 60px rgba(74,57,78,.09);
}
body.single-secretary .secretary-columns {
  align-items: flex-start;
  gap: clamp(36px,6vw,78px);
}
body.single-secretary .secretary-column.--img {
  flex: 0 0 min(38%,390px);
}
body.single-secretary .secretary-column.--text {
  flex: 1 1 auto;
}
body.single-secretary .secretary-column__imgWrapper {
  width: 100%;
  overflow: hidden;
  border-radius: 200px 200px 22px 22px;
  background: var(--profile-secondary);
  box-shadow: 0 16px 38px rgba(74,57,78,.12);
}
body.single-secretary .secretary-column__img,
body.single-secretary .secretary-column__img img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4/5;
  object-fit: cover;
}
body.single-secretary .secretary-column__name {
  padding-bottom: 18px;
  border-bottom: 1px solid var(--profile-secondary);
  color: var(--profile-deep);
  font-family: "Noto Serif JP", serif;
  font-size: clamp(27px,3.5vw,40px);
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: .05em;
}
body.single-secretary .secretary-column__data {
  margin-top: 15px;
  color: #7c747e;
  font-size: 14px;
}
body.single-secretary .sns-lists {
  gap: 11px;
  margin-top: 24px;
  flex-wrap: wrap;
}
body.single-secretary .sns-lists__list { margin: 0; }
body.single-secretary .sns-lists__link {
  display: grid;
  width: 46px;
  height: 46px;
  place-items: center;
  border-radius: 50%;
  background: var(--profile-primary) !important;
  color: #fff !important;
  box-shadow: 0 7px 18px rgba(95,80,100,.18);
  transition: transform .25s ease,background .25s ease;
}
body.single-secretary .sns-lists__link:hover {
  background: var(--profile-deep) !important;
  transform: translateY(-3px);
}
body.single-secretary .sns-lists__img {
  width: 21px;
  height: 21px;
  object-fit: contain;
  filter: brightness(0) invert(1) !important;
}
body.single-secretary .secretary-column__catchPhrase {
  margin-top: 34px;
  padding: 14px 0 14px 20px;
  border-left: 3px solid var(--profile-accent);
  color: var(--profile-deep);
  font-family: "Noto Serif JP", serif;
  font-size: clamp(20px,2.4vw,28px);
  font-weight: 700;
  line-height: 1.7;
}
body.single-secretary .secretary-column__introduction {
  margin-top: 28px;
  color: #4d484f;
  font-size: 15px;
  line-height: 2.15;
  white-space: pre-line;
}
body.single-secretary .inner-profile > .color-btn__wrapper {
  margin-top: 54px;
  text-align: center;
}
body.single-secretary .inner-profile > .color-btn__wrapper .color-btn {
  min-width: 210px;
  padding: 15px 30px;
  border: 1px solid var(--profile-primary);
  border-radius: 4px;
  background: var(--profile-primary) !important;
  color: #fff !important;
  font-weight: 600;
  letter-spacing: .08em;
  box-shadow: none;
}
body.single-secretary .inner-profile > .color-btn__wrapper .color-btn:hover {
  background: var(--profile-deep) !important;
  border-color: var(--profile-deep);
}
@media(max-width:1023px){
  body.single-secretary #header .inner-header { min-height:82px; }
  body.single-secretary .page-title__wrapper { min-height:260px; }
  body.single-secretary .inner-profile { margin-block:60px 90px; }
  body.single-secretary .secretary-columns { display:block; }
  body.single-secretary .secretary-column.--img { width:min(100%,420px); margin:0 auto 44px; }
}
@media(max-width:640px){
  body.single-secretary #header .logo__img { width:154px; height:56px; }
  body.single-secretary .page-title__wrapper { min-height:210px; }
  body.single-secretary .page-title { padding:40px 0; }
  body.single-secretary .page-title__ja { font-size:35px; }
  body.single-secretary .inner-profile { margin:45px 16px 75px; padding:26px 20px 38px; border-radius:18px; }
  body.single-secretary .secretary-column.--img { margin-bottom:34px; }
  body.single-secretary .sns-lists__link { width:43px; height:43px; }
}


/* Force legacy mobile header button to brand mauve */
html body.post-type-archive-secretary button#spMenu-btn,
html body.single-secretary button#spMenu-btn {
  background-color: #7b6a7f !important;
  background-image: none !important;
  border-color: #7b6a7f !important;
}
html body.post-type-archive-secretary button#spMenu-btn:hover,
html body.single-secretary button#spMenu-btn:hover {
  background-color: #5f5064 !important;
}


/* Hero secretary directory CTA */
.jfsa-hero .actions .secretary-link {
  border: 1px solid #7b6a7f;
  background: #fff;
  color: #5f5064;
}
.jfsa-hero .actions .secretary-link:hover {
  background: #7b6a7f;
  color: #fff;
}


/* Remove final legacy pink text colors from secretary profile */
html body.single-secretary main .page-title__en { color: #b49361 !important; }
html body.single-secretary main .breadcrumb a { color: #7b6a7f !important; }
html body.single-secretary main .sns-lists__link,
html body.single-secretary main .inner-profile > .color-btn__wrapper .color-btn {
  color: #fff !important;
}


/* Final legacy pink override for secretary profile */
html body.single-secretary main .page-title__en { color: #b49361 !important; }
html body.single-secretary main .breadcrumb a { color: #7b6a7f !important; }
html body.single-secretary main .sns-lists__link,
html body.single-secretary main .inner-profile > .color-btn__wrapper .color-btn {
  color: #fff !important;
}


/* Override high-specificity legacy inline palette */
html body.single-secretary:not(.home) main .page-title .page-title__en {
  color: #b49361 !important;
}
html body.single-secretary:not(.home) main .breadcrumb__wrapper .breadcrumb a {
  color: #7b6a7f !important;
}
html body.single-secretary:not(.home) main #profile .sns-lists .sns-lists__link,
html body.single-secretary:not(.home) main #profile .color-btn__wrapper a.color-btn {
  color: #fff !important;
}


/* Rebrand shared legacy footer + secretary pagination — 2026-07-22 */
html body:not(.home) footer.site-footer {
  width: min(1200px, calc(100% - 40px)) !important;
  max-width: 1200px !important;
  margin: 80px auto 24px !important;
  padding: clamp(38px,5vw,68px) !important;
  display: grid !important;
  grid-template-columns: minmax(280px,1.15fr) minmax(300px,1fr) !important;
  gap: 28px 64px !important;
  border: 1px solid rgba(216,198,163,.38) !important;
  border-radius: 32px !important;
  background: #5f5064 !important;
  box-shadow: 0 22px 60px rgba(63,48,66,.15) !important;
  color: #fff !important;
}
html body:not(.home) footer.site-footer > div:first-child {
  grid-row: span 2;
}
html body:not(.home) footer.site-footer .brand--footer {
  display: flex !important;
  align-items: center !important;
  gap: 20px !important;
  color: #fff !important;
  text-decoration: none !important;
}
html body:not(.home) footer.site-footer .brand__logo {
  width: 104px !important;
  height: 86px !important;
  padding: 10px !important;
  object-fit: contain !important;
  border-radius: 14px !important;
  background: #faf8f5 !important;
}
html body:not(.home) footer.site-footer .brand__text {
  display: grid !important;
  gap: 5px !important;
}
html body:not(.home) footer.site-footer .brand__text strong {
  color: #fff !important;
  font-family: "Cormorant Garamond","Noto Serif JP",serif !important;
  font-size: 28px !important;
  letter-spacing: .08em !important;
}
html body:not(.home) footer.site-footer .brand__text small {
  color: rgba(255,255,255,.78) !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
}
html body:not(.home) footer.site-footer p {
  margin-top: 24px !important;
  color: rgba(255,255,255,.88) !important;
  font-family: "Noto Serif JP",serif !important;
  font-size: 16px !important;
}
html body:not(.home) footer.site-footer nav {
  display: flex !important;
  flex-wrap: wrap !important;
  align-content: flex-start !important;
  gap: 14px 28px !important;
}
html body:not(.home) footer.site-footer nav:not(.legal-nav) a {
  color: #fff !important;
  border: 0 !important;
  background: transparent !important;
  font-family: "Noto Serif JP",serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
html body:not(.home) footer.site-footer nav:not(.legal-nav) a:hover {
  color: #e2cfaa !important;
}
html body:not(.home) footer.site-footer .legal-nav {
  gap: 12px !important;
}
html body:not(.home) footer.site-footer .legal-nav a {
  padding: 10px 18px !important;
  border: 1px solid rgba(216,198,163,.76) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
html body:not(.home) footer.site-footer .legal-nav a:hover {
  background: #d8c6a3 !important;
  color: #5f5064 !important;
}
html body:not(.home) footer.site-footer > small {
  grid-column: 1/-1 !important;
  padding-top: 22px !important;
  border-top: 1px solid rgba(255,255,255,.16) !important;
  color: rgba(255,255,255,.67) !important;
  font-size: 12px !important;
  letter-spacing: .04em !important;
}
html body.post-type-archive-secretary:not(.home) main .navigation.pagination .page-numbers {
  display: inline-grid !important;
  width: 48px !important;
  height: 48px !important;
  place-items: center !important;
  margin: 0 5px !important;
  padding: 0 !important;
  border: 1px solid #7b6a7f !important;
  border-radius: 50% !important;
  background: #fff !important;
  color: #7b6a7f !important;
  font-family: "Noto Sans JP",sans-serif !important;
  font-weight: 600 !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
html body.post-type-archive-secretary:not(.home) main .navigation.pagination .page-numbers.current,
html body.post-type-archive-secretary:not(.home) main .navigation.pagination .page-numbers:hover {
  border-color: #7b6a7f !important;
  background: #7b6a7f !important;
  color: #fff !important;
}
html body.post-type-archive-secretary:not(.home) main .secretary-card__data {
  color: #7b6a7f !important;
}
@media(max-width:767px){
  html body:not(.home) footer.site-footer {
    width: calc(100% - 24px) !important;
    margin-top: 56px !important;
    padding: 34px 24px !important;
    grid-template-columns: 1fr !important;
    gap: 28px !important;
    border-radius: 22px !important;
  }
  html body:not(.home) footer.site-footer > div:first-child { grid-row:auto; }
  html body:not(.home) footer.site-footer .brand--footer { align-items:flex-start !important; }
  html body:not(.home) footer.site-footer .brand__logo { width:82px !important; height:70px !important; }
  html body:not(.home) footer.site-footer .brand__text strong { font-size:24px !important; }
  html body:not(.home) footer.site-footer > small { grid-column:auto !important; }
}


/* Professional featured CTA for remote hospitality certification */
.jfsa-hero .actions .btn.remote {
  position: relative;
  isolation: isolate;
  overflow: visible;
  border: 1px solid #c8a66e;
  background: linear-gradient(135deg,#ead9b8 0%,#d8c6a3 55%,#c7a66f 100%);
  color: #4f4154;
  font-weight: 700;
  box-shadow: 0 12px 28px rgba(164,129,77,.24), inset 0 1px 0 rgba(255,255,255,.65);
  transform: translateY(-2px);
}
.jfsa-hero .actions .btn.remote::before {
  content: "PICK UP";
  position: absolute;
  z-index: 2;
  top: -12px;
  left: 18px;
  padding: 3px 10px;
  border-radius: 999px;
  background: #5f5064;
  color: #fff;
  font: 600 10px/1.4 "Cormorant Garamond","Noto Sans JP",sans-serif;
  letter-spacing: .16em;
  box-shadow: 0 5px 14px rgba(63,48,66,.18);
}
.jfsa-hero .actions .btn.remote::after {
  content: "";
  position: absolute;
  inset: 3px;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.52);
  border-radius: inherit;
  pointer-events: none;
}
.jfsa-hero .actions .btn.remote:hover {
  border-color: #5f5064;
  background: #5f5064;
  color: #fff;
  box-shadow: 0 16px 34px rgba(95,80,100,.26);
  transform: translateY(-4px);
}
.jfsa-hero .actions .btn.remote:hover::before {
  background: #d8c6a3;
  color: #4f4154;
}
@media(max-width:640px){
  .jfsa-hero .actions .btn.remote { margin-top:8px; }
}
