@charset "utf-8";
/* 道家道学院 埼玉校 — 季節のコラム 2026年10月
   1. 共通（ヘッダー・パンくず・フッター）
   2. 記事本文（.ed 〜）
   文字サイズは 40 / 23 / 21 / 17.5 / 12.5px の5段階のみ */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* 横揺れ防止 */
html, body {
  overflow-x: hidden;
  width: 100%;
}

/* ========== 1. 共通 ========== */
:root{
    --teal:#00E1DA; --teal-deep:#1C8FA0; --teal-text:#189E86; --teal-text-hover:#084F49;
    --teal-bg:#EAF8F6; --card-border:#D8EEEC;
    --ink:#17242A; --ink-soft:#22383D; --ink-mute:#4C5C60; --ink-faint:#7C8C8F; --ink-faintest:#AEB8B9;
    --red:#E23B2E; --red-hover:#C42B1F; --blue:#1E5FA8; --blue-bg:#EAF1FB;
  }
*{box-sizing:border-box}
body{margin:0;background:#fff;color:var(--ink);font-family:'Noto Sans JP',sans-serif;-webkit-font-smoothing:antialiased}
a{color:var(--teal-text);text-decoration:none}
a:hover{color:var(--teal-text-hover)}
img{max-width:100%}
.mobile-panel{display:none;flex-direction:column;gap:2px;width:100%;border-top:1px solid rgba(23,36,42,0.08);margin-top:12px;padding-top:8px}
.mobile-panel a{font-size:18px;color:var(--teal-text);padding:10px 4px;border-bottom:1px solid rgba(23,36,42,0.06)}
.mobile-panel.open{display:flex}
.breadcrumb{padding:16px 56px;border-bottom:1px solid rgba(23,36,42,0.06);font-size:12px;color:var(--ink-faint);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.site-footer{padding:48px 56px;display:grid;grid-template-columns:1.1fr 1fr;gap:40px}
.site-footer img{height:44px;width:auto;display:block;margin-bottom:14px}
.footer-org{font-family:'Noto Sans JP',sans-serif;font-weight:700;font-size:20px;color:var(--ink);margin-bottom:10px}
.site-footer p{margin:0 0 6px;font-size:16px;color:var(--ink-faint);line-height:1.8}
.copyright{font-size:16px;color:var(--ink-faintest)}
.footer-map{border-radius:4px;overflow:hidden;min-height:220px}
.mobile-sticky-cta{display:none}
@media (max-width:719px){
  .breadcrumb{padding:14px 20px}
  .site-footer{padding:40px 20px;grid-template-columns:1fr}
  .footer-map{min-height:220px}
  .mobile-sticky-cta{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;background:#fff;padding:10px 16px;box-shadow:0 -4px 16px rgba(23,36,42,0.12);border-top:1px solid var(--card-border)}
  .mobile-sticky-cta a{flex:1;text-align:center;background:var(--red);color:#fff;font-weight:700;font-size:18px;padding:14px;border-radius:999px}
  body{padding-bottom:70px}
}

/* ========== 2. 記事本文 ========== */
/* 禁則・改行調整（行末の一文字残りを防ぐ） */
  /* 本文は日本語の標準的な折り返し（禁則あり）＋pretty で一文字残りを抑制 */
  body{word-break:normal;overflow-wrap:break-word;line-break:strict}
/* 短い見出し・語句は語単位で保持 */
  h1,h2,h3,h4,.ed-pull,.ed-quotes p,.ed-voices span,.ed-eyebrow,.ed-sub,.ed-check li,.ed-byline,.ed-cta,.nb{word-break:normal}
.nb{display:inline-block}
h1,h2,h3,h4{text-wrap:balance}
.ed{--cream:#FAF7F0;--cream-deep:#F2ECE0;--ink-e:#2A2724;--ink-e-soft:#4C453D;--ink-e-faint:#6F675C;--rule:#DED5C4;--dry:#B9A87F;--kaki:#A9511F;
  background:var(--cream);color:var(--ink-e);font-family:'Noto Sans JP',sans-serif}
.ed-wrap{max-width:1160px;margin:0 auto;padding:0 48px}
.ed-col{max-width:740px;margin:0 auto}
.ed p{color:var(--ink-e-soft);text-wrap:pretty}
.ed .ed-pull,.ed .ed-voice-h,.ed,.ed .ed-sub{text-wrap:balance}
.ed-eyebrow{font-family:'Shippori Mincho B1',serif;font-size:16px;letter-spacing:0.34em;color:var(--kaki);margin:0}
.ed-hero{padding:96px 0 0;text-align:center}
.ed-hero h1{margin:26px auto 0;max-width:19em;font-family:'Shippori Mincho B1',serif;font-weight:500;color:var(--ink-e);font-size:42px;line-height:1.7;letter-spacing:0.04em;text-wrap:balance}
.ed-sub{margin:22px 0 0;font-family:'Shippori Mincho B1',serif;font-size:20px;letter-spacing:0.14em;color:var(--ink-e-soft)}
.ed-rule{width:1px;height:72px;background:var(--rule);margin:40px auto 0}
.ed-hero-photo{margin:56px 0 0;height:420px;overflow:hidden}
.ed-hero-photo img{width:100%;height:100%;object-fit:cover;object-position:50% 72%;display:block}
.ed .ed-cap{margin:12px 0 0;font-size:16px;letter-spacing:0.14em;color:var(--ink-e-faint);text-align:right}
.ed-sec{padding:104px 0}
.ed-sec + .ed-sec{border-top:1px solid var(--rule)}
.ed-label{display:flex;align-items:center;justify-content:center;gap:18px;margin:0 0 52px}
.ed-label::before,.ed-label::after{content:"";height:1px;width:56px;background:var(--rule)}
.ed-label h2,.ed-label h3{margin:0;font-family:'Shippori Mincho B1',serif;font-weight:600;font-size:30px;letter-spacing:0.14em;color:var(--ink-e)}
.ed-lead{font-size:20px;line-height:2.15;margin:0 0 30px;letter-spacing:0.03em}
.ed-quotes{margin:40px 0 48px;padding:0 0 0 26px;border-left:1px solid var(--dry);display:flex;flex-direction:column;gap:28px}
.ed-quotes p{margin:0;font-family:'Shippori Mincho B1',serif;font-size:22px;font-weight:600;letter-spacing:0.06em;color:var(--ink-e)}
.ed-pull{margin:0;font-family:'Shippori Mincho B1',serif;font-size:24px;line-height:2;letter-spacing:0.05em;color:var(--kaki)}
.ed-two{display:grid;grid-template-columns:1fr 1fr;gap:64px;align-items:center}
.ed-two p{font-size:20px;line-height:2.15;margin:0 0 20px;letter-spacing:0.02em}
.ed-two p:last-child{margin-bottom:0}
.ed-photo-tall{height:460px;overflow:hidden}
.ed-photo-tall img{width:100%;height:100%;object-fit:cover;display:block}
.ed-accent{color:var(--kaki);font-weight:500}
.ed .ed-note{margin:22px 0 0;padding-left:26px;font-size:20px;line-height:2.15;letter-spacing:0.02em;color:var(--ink-e-soft);text-wrap:balance}
.ed-voice{display:grid;grid-template-columns:1fr 296px;gap:56px;align-items:start}
.ed-stars{color:var(--dry);font-size:16px;letter-spacing:0.28em}
.ed-voice-h{margin:0 0 26px;font-family:'Shippori Mincho B1',serif;font-weight:600;font-size:28px;line-height:1.7;letter-spacing:0.04em;color:var(--kaki)}
.ed-voice-h{color:var(--kaki) !important}
.ed-voice blockquote{margin:0}
.ed-voice blockquote p{margin:0 0 20px;font-size:20px;line-height:2.15;letter-spacing:0.02em}
.ed-voice blockquote p:last-child{margin:0}
.ed-byline{margin:26px 0 0;font-size:20px;letter-spacing:0.14em;color:var(--ink-e-faint)}
.ed-voice-photo{height:330px;overflow:hidden}
.ed-voice-photo img{width:100%;height:100%;object-fit:cover;object-position:55% 40%;display:block}
.ed-mini{display:grid;grid-template-columns:1fr 1fr;gap:0;margin-top:72px;border-top:1px solid var(--rule);align-items:stretch}
.ed-mini > div{padding:38px 32px;border-left:1px solid var(--rule)}
.ed-mini-h{margin:14px 0 18px;font-family:'Shippori Mincho B1',serif;font-weight:600;font-size:24px;line-height:1.7;letter-spacing:0.04em;color:var(--kaki)}
.ed .ed-mini p{margin:0 0 16px}
.ed .ed-mini p:last-child{margin:0}
.ed .ed-more{margin:26px 0 0}
.ed .ed-more a{font-family:'Shippori Mincho B1',serif;font-size:20px;letter-spacing:0.1em;color:var(--kaki);border-bottom:1px solid var(--rule);padding-bottom:6px}
.ed .ed-more a:hover{color:#96491d;border-bottom-color:var(--kaki)}
.ed-disclaimer{margin:36px 0 0;font-size:16px;line-height:1.9;letter-spacing:0.04em;color:var(--ink-e-faint)}
.ed-mini > div:last-child{padding-right:0}
.ed-mini > div:first-child{border-left:0;padding-left:0}
.ed-mini p{margin:0;font-size:20px;line-height:2.15;letter-spacing:0.02em}
.ed-check{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:1fr 1fr;gap:18px 44px}
.ed-check li{position:relative;padding-left:34px;font-family:'Shippori Mincho B1',serif;font-size:21px;line-height:1.9;letter-spacing:0.04em;color:var(--ink-e)}
.ed-check li::before{content:"✓";position:absolute;left:0;top:0.1em;font-family:'Noto Sans JP',sans-serif;font-size:14px;color:var(--kaki)}
.ed-leaves{height:112px;background:url("assets/autumn-leaves-frame-2.jpeg") center 78%/cover no-repeat;margin:0}
.ed-model{display:block;width:100%;max-width:380px;height:auto;margin:0 auto}
.ed-model-wrap{position:relative;max-width:380px;margin:0 auto}
.ed-model-inset{position:absolute;left:-6px;top:120px;width:132px;height:132px;border-radius:50%;overflow:hidden;background:#fff}
.ed-model-inset img{width:100%;height:100%;object-fit:cover;display:block}
.ed-close{padding:104px 0 112px;border-top:1px solid var(--rule);text-align:center}
.ed-close .ed-col{text-align:left}
.ed-close p{font-size:20px;line-height:2.15;letter-spacing:0.02em;margin:0 0 22px}
.ed-pull-feature{margin:52px 0 0;padding:44px 20px;border-top:1px solid var(--dry);border-bottom:1px solid var(--dry);text-align:center}
.ed .ed-pull-feature .ed-pull{font-size:24px;letter-spacing:0.1em;line-height:2.3}
.ed-inline-cta{max-width:660px;margin:64px auto 0;background:var(--cream-deep);padding:34px 32px;text-align:center}
.ed .ed-inline-cta p{margin:0 0 20px;font-family:'Shippori Mincho B1',serif;font-size:20px;line-height:1.95;letter-spacing:0.04em;color:var(--ink-e)}
.ed-inline-cta a{display:inline-block;font-size:20px;letter-spacing:0.1em;color:var(--kaki);border-bottom:1px solid var(--dry);padding-bottom:6px}
.ed-inline-cta a:hover{color:#8C400F;border-bottom-color:var(--kaki)}
.ed-cta-block{margin:60px auto 0;max-width:660px;border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);padding:44px 20px;text-align:center}
.ed-cta-block p{margin:0 0 26px;font-family:'Shippori Mincho B1',serif;font-size:20px;letter-spacing:0.08em;color:var(--ink-e)}
.ed-cta{display:inline-block;font-size:20px;letter-spacing:0.16em;color:#fff;background:var(--kaki);padding:17px 44px;transition:background .2s}
.ed-cta:hover{background:#96491d;color:#fff}
@media (max-width:1199px){
  .ed-hero h1{font-size:36px}
  .ed-two{gap:44px}
}
@media (max-width:979px){
  .ed-wrap{padding:0 28px}
  .ed-hero{padding:64px 0 0}
  .ed-hero h1{font-size:32px;line-height:1.9}
  .ed-hero-photo{height:280px;margin-top:40px}
  .ed-sec{padding:72px 0}
  .ed-two,.ed-voice{grid-template-columns:1fr;gap:36px}
  .ed-photo-tall{height:360px;max-width:420px;width:100%;margin:0;justify-self:center}
  .ed-two > div:has(> .ed-photo-tall){max-width:420px;width:100%;justify-self:center}
  .ed-voice > div:has(> .ed-voice-photo){max-width:420px;width:100%;justify-self:center}
  .ed-voice-photo{height:360px;max-width:420px;width:100%;margin:0}
  .ed-voice-photo img{object-position:52% 38%}
  .ed-mini{grid-template-columns:minmax(0,1fr)}
  .ed-mini > div{min-width:0}
  .ed-model-inset{width:110px;height:110px;left:0;top:100px}
  .ed-mini > div{border-left:0;padding:32px 0}
  .ed-mini > div + div{border-top:1px solid var(--rule)}
}
@media (max-width:719px){
  /* 狭い幅では語句保持を解除して溢れを防ぐ */
  .ed .nb,.nb{display:inline}
  h1,h2,h3,h4,.ed-pull,.ed-quotes p,.ed-voices span,.ed-check li,.ed-sub,.ed-byline{word-break:normal}
  .ed-check{grid-template-columns:1fr;gap:14px}
  .ed-leaves{height:72px}
  .ed-wrap{padding:0 20px}
  .ed-lead,.ed .ed-two p,.ed-close p,.ed .ed-mini p,.ed-voice blockquote p,.ed-quotes p,.ed-voices span,.ed .ed-mini-h,.ed-check li,.ed-pull,.ed-voice-h,.ed-cta-block p,.ed-sub,.ed .ed-more a{font-size:18px}
  .ed-lead,.ed .ed-two p,.ed-close p,.ed .ed-mini p,.ed-voice blockquote p{line-height:2.1}
  .ed-hero-photo{height:220px}
  .ed-sub{font-size:18px;letter-spacing:0.1em}
  .ed-cta{display:block;padding:17px 20px}
  .ed-hero h1{font-size:26px}
  .ed-photo-tall{height:300px;max-width:320px}
  .ed-voice-photo{height:320px;max-width:320px}
  .ed-two > div:has(> .ed-photo-tall),.ed-voice > div:has(> .ed-voice-photo){max-width:320px}
  .ed-label{gap:12px;margin-bottom:36px}
  .ed-label::before,.ed-label::after{width:24px}
  .ed-label h2,.ed-label h3{font-size:26px}
  .ed-label h2 span {
    display: inline-block;
  }
  .ed-close{padding:72px 0 88px}
  .ed-pull-feature{padding:32px 16px;margin-top:40px}
  .ed .ed-pull-feature .ed-pull{font-size:21px}
  .ed-inline-cta{padding:28px 20px;margin-top:48px}
  .ed .ed-inline-cta p,.ed-inline-cta a{font-size:18px}
}
@media (max-width:479px){
  .breadcrumb{padding-left:16px;padding-right:16px}
  img{max-width:100%;height:auto}
}
