/* =========================
   Fonts: Haskoy（font-display swap）
========================= */
@font-face{
  font-family: "Haskoy";
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url("https://thewastory.com/wp-content/themes/koinonia/assets/fonts/haskoy/haskoy_normal_700.woff2") format("woff2");
}

/* =========================
   Home/LCP対策：Plus Jakarta を参照しても実体は Haskoy に寄せる
   （変数上書き + クラス直指定 + Site Title）
========================= */
:root{
  --wp--preset--font-family--plus-jakarta: "Haskoy", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --wp--preset--font-family--plus-jakarta-sans: "Haskoy", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

.has-plus-jakarta-font-family,
.has-plus-jakarta-sans-font-family,
:root :where(.wp-block-site-title, .wp-block-site-title a){
  font-family: "Haskoy", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif !important;
}

@font-face{
  font-family: "Haskoy";
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url("https://thewastory.com/wp-content/themes/koinonia/assets/fonts/haskoy/haskoy_normal_600.woff2") format("woff2");
}


/* Access help page */
#tws-mp-compact{
  max-width:1100px;
  margin:0 auto !important;
  padding:0 16px !important;
  text-align:center;
  --tws-accent:#570021;
  --tws-muted:rgba(0,0,0,.62);
  --tws-text:rgba(0,0,0,.86);
  --tws-soft:#f7eef2;
  --tws-border:rgba(87,0,33,.18);
  --tws-white:#ffffff;
  color:var(--tws-accent);
}

#tws-mp-compact,
#tws-mp-compact *{
  box-sizing:border-box;
}

#tws-mp-compact a{
  color:var(--tws-accent);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}

#tws-mp-compact .tws-hero{
  max-width:860px;
  margin:0 auto 18px !important;
  text-align:center;
}

#tws-mp-compact .tws-hero-title{
  margin:0 0 10px !important;
  font-size:2rem;
  line-height:1.18;
  font-weight:700;
  color:var(--tws-accent);
}

#tws-mp-compact .tws-hero-text{
  margin:0;
  font-size:1rem;
  line-height:1.55;
  color:var(--tws-accent);
}

/* 横並び */
#tws-mp-compact .tws-case-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  max-width:1100px;
  margin:22px auto 24px !important;
  align-items:stretch;
}

#tws-mp-compact .tws-case{
  width:100%;
  margin:0;
  padding:18px 16px !important;
  background:var(--tws-white);
  border:1px solid var(--tws-border);
  border-radius:14px;
  text-align:center;
}

#tws-mp-compact .tws-case-kicker{
  margin:0 0 8px !important;
  font-size:.75rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--tws-accent);
  opacity:.82;
}

#tws-mp-compact .tws-case-title{
  margin:0 0 10px !important;
  font-size:1.02rem;
  line-height:1.32;
  font-weight:700;
  color:var(--tws-accent);
}

#tws-mp-compact .tws-case-text{
  margin:0 0 12px !important;
  font-size:.9rem;
  line-height:1.52;
  color:var(--tws-muted);
}

#tws-mp-compact .tws-case-actions{
  margin:0;
  font-size:.9rem;
  line-height:1.65;
}

#tws-mp-compact .tws-membership{
  margin:8px auto 0 !important;
  text-align:center;
}

#tws-mp-compact .tws-membership-title{
  margin:0 0 10px !important;
  font-size:1.18rem;
  line-height:1.2;
  font-weight:700;
  color:var(--tws-accent);
}

#tws-mp-compact .tws-membership-links{
  margin:0;
  font-size:.96rem;
  line-height:1.8;
}

#tws-mp-compact .tws-membership-note{
  margin:10px 0 0 !important;
  font-size:.84rem;
  line-height:1.45;
  color:var(--tws-muted);
}

/* このページだけ余白調整したい場合 */
body.postid-836 #tws-mp-compact{
  margin-bottom:0 !important;
}
body.postid-836 #tws-mp-compact + *{
  margin-top:0 !important;
  padding-top:0 !important;
}

@media (max-width: 860px){
  #tws-mp-compact .tws-case-grid{
    grid-template-columns:1fr;
  }

  #tws-mp-compact .tws-hero-title{
    font-size:1.55rem;
  }
}

/* Access help page */
#tws-mp-compact{
  max-width:1060px;
  margin:0 auto !important;
  padding:0 16px 10px !important;
  text-align:center;
  --tws-accent:#570021;
  --tws-muted:rgba(0,0,0,.62);
  --tws-text:rgba(0,0,0,.86);
  --tws-soft:#f7eef2;
  --tws-border:rgba(87,0,33,.18);
  --tws-white:#ffffff;
  color:var(--tws-accent);
}

#tws-mp-compact,
#tws-mp-compact *{
  box-sizing:border-box;
}

#tws-mp-compact a{
  color:var(--tws-accent);
  font-weight:600;
  text-decoration:underline;
  text-underline-offset:2px;
}

#tws-mp-compact .tws-hero{
  max-width:860px;
  margin:0 auto 16px !important;
  text-align:center;
}

#tws-mp-compact .tws-hero-title{
  margin:0 0 8px !important;
  font-size:2rem;
  line-height:1.18;
  font-weight:700;
  color:var(--tws-accent);
}

#tws-mp-compact .tws-hero-text{
  margin:0;
  font-size:1rem;
  line-height:1.5;
  color:var(--tws-accent);
}

#tws-mp-compact .tws-case-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:16px;
  max-width:1060px;
  margin:24px auto 14px !important;
  align-items:start;
}

#tws-mp-compact .tws-case{
  width:100%;
  margin:0;
  padding:14px 14px 14px !important;
  background:var(--tws-white);
  border:1px solid var(--tws-border);
  border-radius:14px;
  text-align:center;
}

#tws-mp-compact .tws-case-kicker{
  margin:0 0 8px !important;
  font-size:.74rem;
  line-height:1.2;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--tws-accent);
  opacity:.82;
}

#tws-mp-compact .tws-case-title{
  margin:0 0 10px !important;
  font-size:1rem;
  line-height:1.28;
  font-weight:700;
  color:var(--tws-accent);
}

#tws-mp-compact .tws-case-text{
  margin:0 0 12px !important;
  font-size:.9rem;
  line-height:1.5;
  color:var(--tws-muted);
}

#tws-mp-compact .tws-case-actions{
  margin:0;
  font-size:.9rem;
  line-height:1.55;
}

#tws-mp-compact .tws-below-note{
  margin:6px 0 0 !important;
  font-size:.95rem;
  line-height:1.45;
  font-weight:600;
  color:var(--tws-accent);
}

/* page-specific spacing */
body.postid-836 #tws-mp-compact{
  margin-bottom:8px !important;
}

body.postid-836 #tws-mp-compact + *{
  margin-top:8px !important;
  padding-top:0 !important;
}

@media (max-width: 860px){
  #tws-mp-compact .tws-case-grid{
    grid-template-columns:1fr;
  }

  #tws-mp-compact .tws-hero-title{
    font-size:1.55rem;
  }
}