@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700&family=Zen+Old+Mincho:wght@400;500;600;700;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700&family=Zen+Old+Mincho:wght@400;500;600;700;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700&family=Zen+Old+Mincho:wght@400;500;600;700;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap');@import url('https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700&family=Zen+Old+Mincho:wght@400;500;600;700;900&family=Zen+Kaku+Gothic+New:wght@300;400;500;700&display=swap');





:root{
  --ink:#2b1825;        /* deep plum-black - hero bg & primary text */
  --ink-2:#f7eef3;      /* soft pink-tinted bg / alt sections */
  --ink-3:#f0dde8;      /* deeper pink - footer / contact */
  --card:#fffbfd;       /* card surface on cream */
  --paper:#33222e;      /* body text on light bg */
  --paper-on-dark:#f7e9f1; /* text on dark hero */
  --paper-dim:#8a7488;
  --muted:#bda0b3;
  --brass:#85145e;      /* PSE plum/magenta accent */
  --brass-dim:#eba9c9;  /* PSE soft pink */
  --cream:#fdf8fb;      /* page background */
  --hair:rgba(43,24,37,.09);
  --max:1080px;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  background:var(--cream);
  color:var(--paper);
  font-family:"Shippori Mincho",serif;
  font-weight:400;
  line-height:2.1;
  letter-spacing:.04em;
  font-feature-settings:"palt";
  -webkit-font-smoothing:antialiased;
}
::selection{background:var(--brass-dim);color:var(--ink)}

/* ---------- utility ---------- */
.wrap{max-width:var(--max);margin:0 auto;padding:0 28px}
.eyebrow{
  font-family:"Zen Kaku Gothic New",sans-serif;
  font-weight:500;font-size:.72rem;letter-spacing:.42em;
  color:var(--brass);text-transform:uppercase;
  display:flex;align-items:center;gap:18px;
}
.eyebrow::after{content:"";height:1px;width:56px;background:var(--brass-dim);opacity:.6}
.eyebrow .jp{color:var(--paper-dim);letter-spacing:.3em;font-weight:400}
h2{
  font-weight:600;font-size:clamp(1.55rem,3.4vw,2.15rem);
  letter-spacing:.1em;line-height:1.8;margin:26px 0 0;
}
.lead{color:var(--paper-dim);margin-top:18px;max-width:40em}
.h2-tight{font-size:clamp(1.25rem,2.6vw,1.7rem);letter-spacing:.06em;white-space:nowrap}
.notice{
  margin-top:24px;max-width:42em;font-size:.82rem;color:var(--muted);
  line-height:2.1;padding-left:18px;border-left:2px solid var(--brass-dim);
}
p{margin-top:1.35em}
em{font-style:normal;color:var(--brass)}
strong{font-weight:600;color:var(--paper)}
a:focus-visible{outline:1.5px solid var(--brass);outline-offset:4px}

/* ---------- nav ---------- */
nav{
  position:fixed;inset:0 0 auto 0;z-index:50;
  background:#ffffff;
  border-bottom:1px solid var(--hair);
}
.nav-in{
  max-width:var(--max);margin:0 auto;padding:0 28px;
  height:64px;display:flex;align-items:center;justify-content:space-between;gap:20px;
}
.brand{
  font-weight:600;font-size:.92rem;letter-spacing:.18em;color:var(--paper);
  text-decoration:none;display:flex;align-items:center;gap:14px;white-space:nowrap;
}
.brand small{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:400;
  font-size:.58rem;letter-spacing:.28em;color:var(--brass);
}
.logo-img{height:28px;width:auto;display:block}
.brand-text{font-size:.92rem}
@media(max-width:560px){.brand-text{display:none}}
.nav-links{display:flex;gap:26px;list-style:none}
.nav-links a{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:400;
  font-size:.76rem;letter-spacing:.16em;color:var(--paper-dim);
  text-decoration:none;transition:color .3s;white-space:nowrap;
}
.nav-links a:hover,.nav-links a:focus-visible{color:var(--brass)}
@media(max-width:900px){.nav-links{display:none}.brand small{display:none}}

/* ---------- hero ---------- */
.hero{
  position:relative;min-height:100svh;
  display:flex;align-items:center;overflow:hidden;
  background:#3a1240;color:#ffffff;
}
#emergence{position:absolute;inset:0;width:100%;height:100%;opacity:.5}
.hero-veil{
  position:absolute;inset:0;
  background:
    radial-gradient(ellipse 90% 70% at 70% 40%,transparent 30%,#3a1240 95%),
    linear-gradient(to bottom,rgba(43,18,53,.25),#3a1240 96%);
}
.hero-in{
  position:relative;z-index:2;
  max-width:var(--max);margin:0 auto;padding:130px 28px 90px;
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:48px;
}
.hero-copy{max-width:560px}
.hero-tag{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;
  font-size:.7rem;letter-spacing:.46em;color:rgba(255,255,255,.65);
}
.hero h1{
  margin-top:30px;font-weight:600;color:#ffffff;
  font-size:clamp(1.6rem,4vw,2.5rem);
  letter-spacing:.12em;line-height:2;
  text-shadow:0 0 28px rgba(255,255,255,.45),0 0 60px rgba(235,169,201,.3);
}
.hero h1 .turn{display:block}
.hero p{color:rgba(255,255,255,.78);margin-top:28px;font-size:.95rem;max-width:32em}
.hero-vertical{
  writing-mode:vertical-rl;
  font-weight:500;font-size:clamp(.85rem,1.4vw,1rem);
  letter-spacing:.55em;line-height:2.6;
  color:rgba(255,255,255,.85);
  border-left:1px solid rgba(255,255,255,.18);
  padding-left:34px;height:400px;flex:none;
}
.hero-vertical em{color:#f4c9de;text-shadow:0 0 18px rgba(244,201,222,.6)}
@media(max-width:860px){
  .hero-vertical{display:none}
  .hero-in{padding-top:115px}
}
.scroll-cue{
  position:absolute;bottom:34px;left:50%;transform:translateX(-50%);z-index:2;
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:.62rem;
  letter-spacing:.4em;color:rgba(255,255,255,.55);
  display:flex;flex-direction:column;align-items:center;gap:12px;
}
.scroll-cue::after{
  content:"";width:1px;height:46px;
  background:linear-gradient(var(--brass),transparent);
  animation:drop 2.6s ease-in-out infinite;
}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}

/* ---------- sections ---------- */
section{padding:130px 0}
section.alt{background:var(--ink-2)}
.reveal{opacity:1;transform:none}
.js-reveal{opacity:0;transform:translateY(26px);transition:opacity 1s ease,transform 1s ease}
.js-reveal.on{opacity:1;transform:none}
/* statement band */
.statement{
  background:var(--ink-3);
  border-top:1px solid var(--hair);border-bottom:1px solid var(--hair);
  padding:110px 0;text-align:center;
}
.statement blockquote{
  font-size:clamp(1.1rem,2.5vw,1.55rem);
  letter-spacing:.14em;line-height:2.4;font-weight:500;
}
.statement cite{
  display:block;margin-top:34px;font-style:normal;
  font-family:"Zen Kaku Gothic New",sans-serif;
  font-size:.7rem;letter-spacing:.34em;color:var(--muted);
}

/* split */
.split{display:grid;grid-template-columns:300px 1fr;gap:70px;align-items:start}
.split .sticky{position:sticky;top:110px}
@media(max-width:860px){.split{grid-template-columns:1fr;gap:30px}.split .sticky{position:static}}

/* role cards */
.role-grid{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:56px}
.role{background:var(--card);padding:46px 42px}
section.alt .role{background:var(--card)}
.role h3{
  font-size:1.05rem;font-weight:600;letter-spacing:.16em;
  display:flex;align-items:baseline;gap:16px;
}
.role h3 .no{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:300;
  font-size:.7rem;letter-spacing:.3em;color:var(--brass);
}
.role p{font-size:.9rem;color:var(--paper-dim);line-height:2.15}
@media(max-width:760px){.role-grid{grid-template-columns:1fr}}

/* service cards (tax) */
.svc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:60px}
.svc{background:var(--card);padding:50px 44px;position:relative}
.svc .kanji-mark{
  position:absolute;top:30px;right:34px;
  font-size:2.2rem;font-weight:500;color:rgba(193,105,60,.13);
  letter-spacing:.05em;line-height:1;
}
.svc h3{font-size:1.1rem;font-weight:600;letter-spacing:.18em}
.svc .sub{
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:.64rem;
  letter-spacing:.3em;color:var(--brass);display:block;margin-top:6px;
}
.svc p{font-size:.88rem;color:var(--paper-dim);line-height:2.1}
.svc ul{list-style:none;margin-top:18px}
.svc li{
  font-size:.86rem;color:var(--paper-dim);padding:9px 0 9px 24px;
  border-bottom:1px solid rgba(233,227,212,.07);position:relative;
}
.svc li::before{
  content:"";position:absolute;left:2px;top:1.15em;
  width:6px;height:6px;background:var(--brass-dim);transform:rotate(45deg);
}
@media(max-width:760px){.svc-grid{grid-template-columns:1fr}}

/* responsibility contrast */
.contrast{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--hair);border:1px solid var(--hair);margin-top:56px}
.contrast>div{padding:44px 40px;background:var(--card)}
.contrast .neg h4{color:var(--muted)}
.contrast .pos{background:linear-gradient(135deg,rgba(193,105,60,.10),transparent 60%),var(--card)}
.contrast h4{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;
  font-size:.72rem;letter-spacing:.34em;color:var(--brass);
}
.contrast .big{font-size:1.25rem;font-weight:600;letter-spacing:.12em;margin-top:18px}
.contrast p{font-size:.88rem;color:var(--paper-dim);line-height:2.1}
@media(max-width:760px){.contrast{grid-template-columns:1fr}}

/* mentoring questions */
.questions{margin-top:64px;border-top:1px solid var(--hair)}
.q{
  display:grid;grid-template-columns:150px 1fr;gap:40px;
  padding:46px 0;border-bottom:1px solid var(--hair);
}
.q .kanji{
  font-size:2.2rem;font-weight:500;color:var(--brass);
  line-height:1.4;letter-spacing:.08em;
}
.q h3{font-size:1.1rem;font-weight:600;letter-spacing:.14em;line-height:1.9}
.q p{font-size:.9rem;color:var(--paper-dim);margin-top:14px;line-height:2.15;max-width:44em}
@media(max-width:700px){.q{grid-template-columns:1fr;gap:14px}.q .kanji{font-size:1.7rem}}

/* academic fields */
.fields{margin-top:60px;display:flex;flex-wrap:wrap;gap:12px}
.fields span{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:400;
  font-size:.74rem;letter-spacing:.18em;color:var(--paper-dim);
  border:1px solid var(--hair);padding:9px 20px;border-radius:100px;
  transition:border-color .4s,color .4s;
}
.fields span:hover{border-color:var(--brass-dim);color:var(--brass)}

/* ladder (4-step relationship depth) */
.ladder{margin-top:64px;display:flex;flex-direction:column;border:1px solid var(--hair)}
.rung{
  display:grid;grid-template-columns:90px 1fr 230px;gap:36px;
  padding:40px 44px;background:var(--card);
  border-bottom:1px solid var(--hair);position:relative;
}
.rung:last-child{border-bottom:none}
.rung.deep{background:var(--ink-2)}
.rung .num{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:300;
  font-size:2.4rem;color:var(--brass-dim);line-height:1;letter-spacing:0;
}
.rung .body h3{font-size:1.05rem;font-weight:600;letter-spacing:.14em;line-height:1.9}
.rung .body .sub{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;
  font-size:.64rem;letter-spacing:.3em;color:var(--brass);display:block;margin-bottom:8px;
}
.rung .body p{font-size:.88rem;color:var(--paper-dim);line-height:2.1;margin-top:10px}
.rung .meta{
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:.74rem;
  letter-spacing:.12em;color:var(--muted);line-height:2.3;
  border-left:1px solid var(--hair);padding-left:28px;
}
.rung .meta strong{
  display:block;color:var(--paper);font-weight:600;font-size:.8rem;
  letter-spacing:.1em;margin-bottom:6px;
}
@media(max-width:820px){
  .rung{grid-template-columns:1fr;gap:14px}
  .rung .meta{border-left:none;padding-left:0;border-top:1px solid var(--hair);padding-top:16px}
  .rung .num{font-size:1.6rem}
}

/* flow */
.flow{margin-top:70px;display:grid;grid-template-columns:1fr auto 1fr;gap:0;align-items:stretch}
.flow-node{border:1px solid var(--hair);padding:46px 40px;background:var(--card)}
.flow-node.major{border-color:var(--brass-dim)}
.flow-node h3{font-size:1.15rem;font-weight:600;letter-spacing:.16em}
.flow-node .sub{
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:.66rem;
  letter-spacing:.32em;color:var(--brass);margin-top:6px;display:block;
}
.flow-node p{font-size:.88rem;color:var(--paper-dim);line-height:2.1}
.flow-arrow{
  display:flex;align-items:center;justify-content:center;padding:0 26px;color:var(--brass);
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:.7rem;letter-spacing:.2em;
  flex-direction:column;gap:8px;
}
.flow-arrow svg{width:34px;height:14px}
.flow-note{
  margin-top:26px;font-size:.84rem;color:var(--muted);line-height:2.1;
  border-left:2px solid var(--brass-dim);padding-left:22px;
}
@media(max-width:820px){
  .flow{grid-template-columns:1fr}
  .flow-arrow{padding:22px 0;transform:rotate(90deg);height:60px}
}

/* boundaries */
.bounds{margin-top:60px;border:1px solid var(--hair)}
.bounds>div{padding:42px 40px;background:var(--card)}
.bounds h4{font-size:.95rem;font-weight:600;letter-spacing:.18em;display:flex;gap:14px;align-items:baseline}
.bounds h4::before{content:"";width:7px;height:7px;background:var(--brass);flex:none;transform:rotate(45deg)}
.bounds p{font-size:.88rem;color:var(--paper-dim);line-height:2.1}
.bounds .pse-btn{
  display:inline-flex;align-items:center;gap:12px;margin-top:26px;
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;
  font-size:.78rem;letter-spacing:.28em;color:var(--brass);
  border:1px solid var(--brass-dim);padding:14px 30px;text-decoration:none;
  transition:background .35s,color .35s;
}
.bounds .pse-btn:hover,.bounds .pse-btn:focus-visible{background:var(--brass);color:var(--cream)}
.bounds .pse-btn svg{width:14px;height:14px}

/* profile */
.profile{display:grid;grid-template-columns:1fr 1fr;gap:70px;margin-top:60px;align-items:start}
.profile h3{font-size:1.3rem;font-weight:600;letter-spacing:.2em}
.profile .titles{margin-top:24px;list-style:none}
.profile .titles li{
  font-size:.88rem;color:var(--paper-dim);padding:10px 0;
  border-bottom:1px solid rgba(233,227,212,.07);letter-spacing:.06em;
}
.profile .voice{
  border-left:2px solid var(--brass-dim);padding-left:26px;
}
.profile .voice h4{
  font-size:1rem;font-weight:600;letter-spacing:.12em;line-height:1.9;color:var(--brass);
}
.profile .voice p{font-size:.88rem;color:var(--paper-dim);line-height:2.15}
@media(max-width:820px){.profile{grid-template-columns:1fr;gap:44px}}

.office-info{
  margin-top:80px;display:grid;grid-template-columns:1fr 1fr;gap:1px;
  background:var(--hair);border:1px solid var(--hair);
}
.office-info>div{background:var(--card);padding:44px 40px}
.office-info h4{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;
  font-size:.7rem;letter-spacing:.36em;color:var(--brass);
}
.office-info p{font-size:.92rem;line-height:2.2;margin-top:16px}
.office-info .tel{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:300;
  font-size:1.5rem;letter-spacing:.12em;color:var(--paper);margin-top:8px;
}
.office-info a{color:var(--paper);text-decoration:none}
.office-info small{color:var(--muted);font-size:.78rem;display:block;margin-top:6px;letter-spacing:.08em}
@media(max-width:760px){.office-info{grid-template-columns:1fr}}

/* clients */
.client-grid{margin-top:60px;display:flex;flex-direction:column;gap:1px;background:var(--hair);border:1px solid var(--hair)}
.client{
  background:var(--card);padding:46px 44px;
  display:grid;grid-template-columns:220px 1fr;gap:40px;align-items:start;
}
.client .name{
  font-size:1.05rem;font-weight:600;letter-spacing:.14em;line-height:1.9;
}
.client .name small{
  display:block;margin-top:8px;
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;
  font-size:.66rem;letter-spacing:.3em;color:var(--brass);
}
.client .name a{
  display:inline-block;margin-top:18px;
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:.72rem;
  letter-spacing:.18em;color:var(--paper-dim);text-decoration:none;
  border-bottom:1px solid var(--brass-dim);padding-bottom:3px;transition:color .3s,border-color .3s;
}
.client .name a:hover{color:var(--brass);border-color:var(--brass)}
.client p{font-size:.9rem;color:var(--paper-dim);line-height:2.15;margin-top:0}
@media(max-width:760px){.client{grid-template-columns:1fr;gap:18px}}

/* contact */
.contact{
  background:var(--ink-3);
  border-top:1px solid var(--hair);
  padding:130px 0;text-align:center;
}
.contact h2{margin-top:26px}
.contact p{color:var(--paper-dim);max-width:36em;margin:24px auto 0}
.btn{
  display:inline-block;margin-top:48px;
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;
  font-size:.82rem;letter-spacing:.34em;color:var(--brass);
  border:1px solid var(--brass-dim);padding:20px 64px 20px 70px;
  text-decoration:none;transition:background .4s,color .4s;
}
.btn:hover,.btn:focus-visible{background:var(--brass);color:var(--cream)}
.contact .eyebrow{justify-content:center}
.contact .eyebrow::after{display:none}
.contact .eyebrow::before{content:"";height:1px;width:56px;background:var(--brass-dim);opacity:.6}

/* footer */
footer{background:var(--ink-3);border-top:1px solid var(--hair);padding:90px 0 60px}
.foot-grid{display:flex;justify-content:space-between;gap:50px;flex-wrap:wrap}
.foot-brand{font-weight:600;letter-spacing:.22em;font-size:1.05rem}
.foot-brand .logo-img{height:34px;margin-bottom:18px}
.foot-brand-name{font-weight:600;letter-spacing:.22em;font-size:1.05rem}
.foot-brand small{
  display:block;margin-top:10px;
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:400;
  font-size:.64rem;letter-spacing:.32em;color:var(--brass);
}
.foot-brand address{
  font-style:normal;margin-top:22px;font-size:.82rem;color:var(--muted);
  line-height:2;letter-spacing:.06em;
}
.foot-cols{display:flex;gap:70px;flex-wrap:wrap}
.foot-cols h5{
  font-family:"Zen Kaku Gothic New",sans-serif;font-weight:500;
  font-size:.64rem;letter-spacing:.34em;color:var(--brass);margin-bottom:18px;
}
.foot-links{list-style:none;display:flex;flex-direction:column;gap:13px}
.foot-links a{
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:.78rem;
  letter-spacing:.18em;color:var(--paper-dim);text-decoration:none;transition:color .3s;
}
.foot-links a:hover{color:var(--brass)}
.foot-note{
  margin-top:70px;padding-top:30px;border-top:1px solid var(--hair);
  display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;
  font-family:"Zen Kaku Gothic New",sans-serif;font-size:.66rem;
  letter-spacing:.22em;color:var(--muted);
}

@media (prefers-reduced-motion:reduce){
  .js-reveal{opacity:1;transform:none;transition:none}
  .scroll-cue::after{animation:none}
  html{scroll-behavior:auto}
}
}
/* ===== Hero font fix ===== */

.hero h1,
.hero h1 .turn {
  font-family: "Zen Old Mincho", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  line-height: 2 !important;
}

.hero p {
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 400 !important;
  letter-spacing: .06em !important;
  line-height: 2.2 !important;
}

.hero-tag {
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "YuGothic", sans-serif !important;
  font-weight: 500 !important;
}
/* 縦書きコピーを元の明朝体に戻す */
.hero-vertical,
.hero-vertical em {
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
  font-weight: 500 !important;
  letter-spacing: .55em !important;
  line-height: 2.6 !important;
}
/* ヒーロー大見出しを明朝体に戻す */
.hero h1,
.hero h1 .turn {
  font-family: "Zen Old Mincho", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 600 !important;
}
/* ===== Jimdo上書き対策：本文・引用を元の明朝体に戻す ===== */

body,
#content,
.pse-site-content,
.pse-site-content p,
.pse-site-content section,
.pse-site-content .statement,
.pse-site-content .statement blockquote,
.pse-site-content .split,
.pse-site-content .split p,
.pse-site-content .lead,
.pse-site-content .notice,
.pse-site-content .role p,
.pse-site-content .svc p,
.pse-site-content .contrast p,
.pse-site-content .q p,
.pse-site-content .rung p,
.pse-site-content .profile p,
.pse-site-content .client p {
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
  font-weight: 400 !important;
  letter-spacing: .06em !important;
  line-height: 2.15 !important;
}

/* 大見出し・セクション見出し */
h1,
h2,
h3,
.statement blockquote,
.hero h1,
.hero h1 .turn,
.h2-tight,
.role h3,
.svc h3,
.q h3,
.rung .body h3,
.profile h3,
.profile .voice h4,
.flow-node h3 {
  font-family: "Zen Old Mincho", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 600 !important;
}

/* ステートメント部分を元の雰囲気に戻す */
.statement blockquote {
  font-size: clamp(1.1rem, 2.5vw, 1.55rem) !important;
  letter-spacing: .14em !important;
  line-height: 2.4 !important;
  font-weight: 500 !important;
  text-align: center !important;
}

/* STANCEなどの英字ラベルはゴシックのまま */
.eyebrow,
.eyebrow .jp,
.hero-tag,
.nav-links a,
.role h3 .no,
.svc .sub,
.rung .body .sub,
.rung .meta,
.foot-links a,
.foot-note {
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "YuGothic", sans-serif !important;
}
/* ===== フォント強制指定：Jimdo上書き対策 ===== */

body,
#container,
#content,
.pse-layout,
.pse-site-content,
.pse-site-content p,
#content p,
#stance p,
#stance .reveal p,
#stance .split p,
#stance .role p {
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", serif !important;
  font-weight: 400 !important;
  line-height: 2.25 !important;
  letter-spacing: .07em !important;
}

/* 見出し系 */
h1,
h2,
h3,
#content h1,
#content h2,
#content h3,
.hero h1,
.hero h1 .turn,
.statement blockquote,
#stance h2,
#stance h3,
.role h3,
.svc h3,
.q h3,
.rung h3,
.profile h3 {
  font-family: "Zen Old Mincho", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 600 !important;
}

/* 英字ラベル・番号などはゴシック */
.eyebrow,
.eyebrow .jp,
.hero-tag,
.nav-links a,
.role h3 .no,
.svc .sub,
.rung .sub,
.rung .meta,
.foot-links a,
.foot-note {
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "YuGothic", sans-serif !important;
}
/* =================================================
   全本文フォント修正：Jimdo上書き対策
   ================================================= */

/* 本文・説明文・リストは明朝体 */
body,
#container,
#content,
.pse-site-content,
.pse-site-content *,
#content p,
#content li,
#content blockquote,
#content cite,
section p,
section li,
.lead,
.notice,
.statement blockquote,
.role p,
.svc p,
.svc li,
.contrast p,
.q p,
.fields span,
.rung .body p,
.rung .meta,
.bounds p,
.profile p,
.profile li,
.office-info p,
.office-info small,
.client p,
.contact p,
.foot-brand address {
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "MS Mincho", serif !important;
  font-weight: 400 !important;
  letter-spacing: .06em !important;
  line-height: 2.2 !important;
}

/* 大見出し・カード見出しは上品な明朝体 */
h1,
h2,
h3,
h4,
.hero h1,
.hero h1 .turn,
.statement blockquote,
.h2-tight,
.role h3,
.svc h3,
.q h3,
.rung .body h3,
.flow-node h3,
.profile h3,
.profile .voice h4,
.client .name,
.foot-brand-name {
  font-family: "Zen Old Mincho", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 600 !important;
}

/* 英字ラベル・ナビ・ボタン・補助情報はゴシック */
.eyebrow,
.eyebrow .jp,
.hero-tag,
.nav-links a,
.brand small,
.role h3 .no,
.svc .sub,
.contrast h4,
.rung .body .sub,
.rung .meta strong,
.office-info h4,
.client .name small,
.client .name a,
.btn,
.foot-links a,
.foot-cols h5,
.foot-note {
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "YuGothic", "Hiragino Kaku Gothic ProN", sans-serif !important;
}

/* TAXセクションの本文を明朝に強制 */
#tax,
#tax p,
#tax li,
#tax .lead,
#tax .notice,
#tax .svc p,
#tax .svc li {
  font-family: "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 400 !important;
  letter-spacing: .06em !important;
  line-height: 2.2 !important;
}

/* TAXセクションの見出し */
#tax h2,
#tax h3 {
  font-family: "Zen Old Mincho", "Shippori Mincho", "Yu Mincho", "YuMincho", "Hiragino Mincho ProN", serif !important;
  font-weight: 600 !important;
}
/* ===== ロゴなしヘッダー調整 ===== */

.pse-site-header {
  background: #ffffff !important;
  border-bottom: 1px solid rgba(43,24,37,.09) !important;
}

.pse-header-inner {
  max-width: 1080px !important;
  margin: 0 auto !important;
  padding: 0 28px !important;
  height: 58px !important;
  display: flex !important;
  align-items: center !important;
}

.pse-brand {
  text-decoration: none !important;
  color: #2b1825 !important;
  display: inline-flex !important;
  align-items: center !important;
}

.pse-brand:visited,
.pse-brand:hover,
.pse-brand:active {
  color: #2b1825 !important;
  text-decoration: none !important;
}

.pse-brand-name {
  font-family: "Zen Old Mincho", "Shippori Mincho", "Yu Mincho", "YuMincho", serif !important;
  font-size: .95rem !important;
  font-weight: 600 !important;
  letter-spacing: .16em !important;
  color: #2b1825 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
}
/* ===== ヘッダー・ナビの青リンクを消す ===== */

#header a,
#header a:link,
#header a:visited,
#header a:hover,
#header a:active,
#navigation a,
#navigation a:link,
#navigation a:visited,
#navigation a:hover,
#navigation a:active,
.pse-brand,
.pse-brand:link,
.pse-brand:visited,
.pse-brand:hover,
.pse-brand:active,
.pse-brand-name,
.pse-site-navigation a,
.pse-site-navigation a:link,
.pse-site-navigation a:visited,
.pse-site-navigation a:hover,
.pse-site-navigation a:active {
  color: #2b1825 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  background: transparent !important;
}
#navigation a,
.pse-site-navigation a {
  font-family: "Zen Kaku Gothic New", "Yu Gothic", "YuGothic", sans-serif !important;
  font-size: .78rem !important;
  letter-spacing: .18em !important;
  color: #8a7488 !important;
}

#navigation a:hover,
.pse-site-navigation a:hover {
  color: #85145e !important;
}
/* ===== ナビゲーション：青リンク・下線を完全に除去 ===== */
header a,
header a:link,
header a:visited,
header a:hover,
header a:active,
nav a,
nav a:link,
nav a:visited,
nav a:hover,
nav a:active,
.nav-in a,
.nav-in a:link,
.nav-in a:visited,
.nav-in a:hover,
.nav-in a:active,
.brand,
.brand:link,
.brand:visited,
.brand:hover,
.brand:active,
.brand-text,
.nav-links a,
.nav-links a:link,
.nav-links a:visited,
.nav-links a:hover,
.nav-links a:active,
.pse-brand,
.pse-brand:link,
.pse-brand:visited,
.pse-brand:hover,
.pse-brand:active,
.pse-brand-name,
#header a,
#header a:link,
#header a:visited,
#navigation a,
#navigation a:link,
#navigation a:visited {
  color: #2b1825 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  background: none !important;
  background-image: none !important;
}

/* ナビゲーションリンクだけは、薄い色＋ホバーでブランドカラーに */
.nav-links a,
#navigation a,
.pse-site-navigation a {
  color: #8a7488 !important;
}
.nav-links a:hover,
#navigation a:hover,
.pse-site-navigation a:hover {
  color: #85145e !important;
}
/* ===== フッターのリンクも青色・下線を除去 ===== */
.foot-links a,
.foot-links a:link,
.foot-links a:visited,
.foot-links a:hover,
.foot-links a:active,
footer a,
footer a:link,
footer a:visited,
#footer a,
#footer a:link,
#footer a:visited,
.pse-site-footer a,
.pse-site-footer a:link,
.pse-site-footer a:visited {
  color: var(--paper-dim) !important;
  text-decoration: none !important;
  border-bottom: none !important;
  background: none !important;
}

.foot-links a:hover,
footer a:hover,
#footer a:hover,
.pse-site-footer a:hover {
  color: var(--brass) !important;
}
/* お問い合わせボタンも念のため重ねて指定 */
.btn,
.btn:link,
.btn:visited,
.btn:hover,
.btn:active {
  text-decoration: none !important;

}
/* お問い合わせボタン：文字色のみ修正、枠線には触れない */
.btn,
.btn:link,
.btn:visited,
.btn:hover,
.btn:active {
  color: var(--brass) !important;
  text-decoration: none !important;
}

.btn:hover,
.btn:focus-visible {
  color: var(--cream) !important;
}