@charset "UTF-8";
/* ====================================================
   アドラー教育研究所　共通スタイル
   色は assets/theme.css で管理しています
   ==================================================== */
:root{
  --gothic:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",YuGothic,"Noto Sans JP","Helvetica Neue",Arial,sans-serif;
  --mincho:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",Georgia,serif;
  --measure:34em;
  --gutter:clamp(1.3rem,5vw,3rem);
  --r:16px;
  --shadow:0 2px 18px rgba(20,40,70,.08);
  --bar:4.2rem;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto;}}

body{
  margin:0;background:var(--white);color:var(--ink);
  font-family:var(--gothic);font-size:16px;line-height:1.95;letter-spacing:.03em;
}
@media (min-width:800px){body{font-size:17px;}}

p{margin:0 0 1.5em;}
a{color:inherit;}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{
  outline:2px solid var(--kaki);outline-offset:3px;
}
img{max-width:100%;height:auto;display:block;}

.skip{position:absolute;left:-9999px;top:0;background:var(--kaki);color:#fff;
  padding:.6em 1em;z-index:200;font-size:.85rem;}
.skip:focus{left:0;}

.sheet{max-width:66rem;margin:0 auto;padding:0 var(--gutter);}
.column{max-width:var(--measure);}
section,#menu{scroll-margin-top:calc(var(--bar) + .5rem);}

/* ---------- 印 ---------- */
.logo{display:block;flex:none;border-radius:50%;}
.head__brand .logo{width:2.75rem;height:2.75rem;}
.foot__brand .logo{width:2.7rem;height:2.7rem;}

/* ---------- ヘッダー ---------- */
.head{
  position:sticky;top:0;z-index:100;height:var(--bar);
  background:rgba(255,255,255,.93);backdrop-filter:saturate(180%) blur(10px);
  border-bottom:1px solid var(--line);display:flex;align-items:center;
}
.head__inner{max-width:66rem;margin:0 auto;width:100%;padding:0 var(--gutter);
  display:flex;align-items:center;justify-content:space-between;gap:1.2rem;}
.head__brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;}
.head__brand b{font-weight:600;font-size:clamp(1.02rem,2.6vw,1.24rem);letter-spacing:.1em;white-space:nowrap;}
.head nav ul{display:flex;gap:1.25rem;list-style:none;margin:0;padding:0;}
.head nav a{text-decoration:none;font-size:.82rem;letter-spacing:.05em;color:var(--ink-soft);}
.head nav a:hover{color:var(--kaki);}
.head .nav-wide{display:none;}
@media (min-width:1060px){.head .nav-wide{display:block;}.head .nav-narrow{display:none;}}
.head .nav-narrow a{color:var(--kaki);font-weight:600;}

/* ---------- 扉 ---------- */
.hero{position:relative;overflow:hidden;padding:clamp(3rem,9vw,6rem) 0 clamp(3rem,8vw,5rem);}
.hero::before,.hero::after{content:"";position:absolute;border-radius:50%;pointer-events:none;z-index:0;}
.hero::before{width:46rem;height:46rem;right:-16rem;top:-20rem;
  background:radial-gradient(circle at 50% 50%, var(--kaki-pale) 0%, rgba(233,236,240,0) 68%);}
.hero::after{width:38rem;height:38rem;left:-16rem;bottom:-18rem;
  background:radial-gradient(circle at 50% 50%, var(--sora-pale) 0%, rgba(248,243,233,0) 68%);}
.hero .sheet{position:relative;z-index:1;}
.hero__lead{
  font-size:clamp(1.12rem,3.2vw,1.62rem);letter-spacing:.09em;color:var(--kaki);
  font-weight:700;line-height:1.7;margin:0 0 1.5rem;
}
.hero__lead::after{content:"";display:block;width:2.6rem;height:3px;
  background:var(--sora);margin-top:.85rem;}
.hero__message{
  font-family:var(--mincho);font-weight:400;
  font-size:clamp(1.5rem,4.6vw,2.45rem);line-height:1.75;letter-spacing:.02em;
  margin:0 0 1.8rem;max-width:22em;
}
.hero__message b{display:block;font-weight:400;}
.hero__message b + b{margin-top:.5em;}
.hero__cite{font-size:.85rem;letter-spacing:.1em;color:var(--ink-soft);margin:0 0 1.8rem;
  display:flex;align-items:center;gap:.7em;}
.hero__cite::before{content:"";width:1.8em;height:1px;background:var(--kaki);flex:none;}
.hero__sub{max-width:30em;color:var(--ink-soft);font-size:.96rem;margin:0 0 2.2rem;}
.hero__actions{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;}
.hero__grid{display:grid;gap:2.5rem;align-items:center;}
@media (min-width:900px){.hero__grid{grid-template-columns:1.05fr .95fr;gap:3.5rem;}}
.hero__art{width:100%;max-width:26rem;margin:0 auto;}
.hero__art img{width:100%;height:auto;display:block;}
.hero__art figcaption{text-align:center;font-size:.74rem;letter-spacing:.08em;
  color:var(--ink-soft);margin-top:-.3rem;}

/* ---------- ボタン ---------- */
.btn{
  display:inline-flex;align-items:center;gap:.6em;
  font-size:.9rem;font-weight:600;letter-spacing:.06em;text-decoration:none;
  padding:.95em 2.1em;border-radius:999px;border:1.5px solid transparent;
  transition:background .18s ease,color .18s ease,border-color .18s ease,transform .18s ease;
}
.btn--fill{background:var(--kaki);color:#fff;}
.btn--fill:hover{background:var(--kaki-deep);transform:translateY(-1px);}
.btn--line{border-color:var(--line);color:var(--ink);background:var(--white);}
.btn--line:hover{border-color:var(--kaki);color:var(--kaki);}
.btn--sora{background:var(--sora);color:var(--kaki-deep);}
.btn--sora:hover{background:#AD8C4A;transform:translateY(-1px);}

/* ---------- 三つのサービス（大きな絵つき） ---------- */
.svc{padding:0 0 clamp(2.5rem,7vw,4rem);}
.svc ul{list-style:none;margin:0;padding:0;display:grid;gap:1.3rem;}
@media (min-width:780px){.svc ul{grid-template-columns:repeat(3,1fr);gap:1.6rem;}}
.svc a{
  display:block;text-decoration:none;background:var(--white);
  border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow);
  transition:transform .2s ease,box-shadow .2s ease;height:100%;
}
.svc a:hover{transform:translateY(-4px);box-shadow:0 10px 30px rgba(14,49,89,.15);}
.svc__pic{background:var(--cream);aspect-ratio:16/10;overflow:hidden;}
.svc__pic svg,.svc__pic img{display:block;width:100%;height:100%;object-fit:cover;}
.svc__txt{padding:1.2rem 1.35rem 1.5rem;}
.svc em{
  display:inline-block;font-style:normal;font-size:.71rem;font-weight:600;letter-spacing:.08em;
  color:var(--kaki);background:var(--kaki-pale);border-radius:999px;
  padding:.3em 1em;margin-bottom:.75em;
}
.svc .gold em{color:#6B5314;background:var(--sora-pale);}
.svc b{display:block;font-size:1.06rem;font-weight:600;letter-spacing:.05em;}
.svc span{display:block;font-size:.84rem;color:var(--ink-soft);margin-top:.4em;line-height:1.8;}
.portrait .ph{width:100%;border-radius:var(--r);box-shadow:var(--shadow);display:block;background:var(--cream-deep);}
.course__visual .ph{width:100%;max-width:11rem;display:block;}

/* ---------- 章 ---------- */
.band{padding:clamp(3rem,9vw,5.5rem) 0;}
.band--cream{background:var(--cream);border-radius:clamp(24px,5vw,48px) clamp(24px,5vw,48px) 0 0;}
.band--cream + .band--cream{border-radius:0;}
.band h2{
  font-size:clamp(1.22rem,3.2vw,1.5rem);font-weight:600;letter-spacing:.07em;
  margin:0 0 1.8rem;line-height:1.6;display:flex;align-items:center;gap:.65em;
}
.band h2::before{content:"";width:.62em;height:.62em;border-radius:50%;background:var(--kaki);flex:none;}
.band h3{
  font-size:1.02rem;font-weight:600;letter-spacing:.06em;margin:2.6em 0 .9em;
}
.band h3:first-of-type{margin-top:1.6em;}

/* ---------- ごあいさつ（写真つき） ---------- */
.aisatsu{display:grid;gap:2.2rem;align-items:start;}
@media (min-width:840px){.aisatsu{grid-template-columns:1fr 22rem;gap:3rem;align-items:end;}}
.portrait{margin:0;}
.portrait img{border-radius:var(--r);box-shadow:var(--shadow);width:100%;height:auto;display:block;}
@media (max-width:839px){.portrait{max-width:24rem;}}
.portrait figcaption{font-size:.88rem;color:var(--ink);margin-top:.95em;
  letter-spacing:.06em;text-align:center;line-height:1.7;}
.aisatsu__key{
  font-family:var(--mincho);font-size:clamp(1.05rem,2.6vw,1.22rem);line-height:2.05;
  letter-spacing:.03em;background:var(--white);border-radius:var(--r);
  padding:1.5rem 1.7rem;margin:2rem 0;box-shadow:var(--shadow);
}
.sign{font-size:.9rem;letter-spacing:.08em;color:var(--ink-soft);margin:1.8rem 0 0;}

/* ---------- 略歴 ---------- */
.ryakureki{margin:2.4rem 0 0;font-size:.93rem;background:var(--white);
  border-radius:var(--r);padding:.4rem 1.6rem;box-shadow:var(--shadow);}
.ryakureki div{display:grid;grid-template-columns:5.6em 1fr;gap:0 1.3em;
  padding:1em 0;border-bottom:1px solid var(--line);line-height:1.85;}
.ryakureki div:last-child{border-bottom:0;}
.ryakureki dt{color:var(--kaki);font-size:.8em;font-weight:600;letter-spacing:.1em;padding-top:.3em;}
.ryakureki dd{margin:0;}
@media (max-width:480px){.ryakureki div{grid-template-columns:1fr;gap:.1em;}.ryakureki dt{padding-top:0;}}

/* ---------- サービスの2枚組 ---------- */
.services{display:grid;gap:1.4rem;}
@media (min-width:820px){.services{grid-template-columns:1fr 1fr;gap:1.8rem;}}
.card{
  background:var(--white);border-radius:var(--r);padding:clamp(1.6rem,4vw,2.2rem);
  box-shadow:var(--shadow);display:flex;flex-direction:column;
}
.card h3{margin:0 0 .9em;font-size:1.12rem;font-weight:600;letter-spacing:.06em;}
.card > p{font-size:.95rem;}
.card .btn{align-self:flex-start;margin-top:auto;}
.emph{color:var(--kaki);font-weight:600;}
strong.emph{background:linear-gradient(transparent 62%, var(--sora-pale) 62%);padding:0 .1em;}
.kbn{font-weight:600;color:var(--kaki);font-size:.97rem;line-height:1.85;
  border-left:3px solid var(--sora);padding-left:.9em;margin-bottom:1.3em;}
.youkou{margin:.6rem 0 1.8rem;font-size:.9rem;background:var(--cream);
  border-radius:12px;padding:1.2rem 1.4rem;}
.youkou dl{margin:0;display:grid;grid-template-columns:5.6em 1fr;gap:.6em 1.2em;}
.youkou dt{color:var(--ink-soft);font-size:.86em;letter-spacing:.08em;}
.youkou dd{margin:0;}
@media (max-width:480px){.youkou dl{grid-template-columns:1fr;gap:.05em;}.youkou dd{margin-bottom:.7em;}}

/* 未確定マーカー（公開前に消す） */
.tbd{background:#FFF3AF;color:#57471F;padding:0 .35em;border-bottom:1px dashed #B5992E;font-size:.9em;}

/* ---------- 講座 ---------- */
.course{background:var(--white);border-radius:var(--r);box-shadow:var(--shadow);
  overflow:hidden;display:grid;gap:0;}
@media (min-width:820px){.course{grid-template-columns:16rem 1fr;}}
.course__visual{background:var(--cream);display:grid;place-items:center;overflow:hidden;}
.cover{background-image:url("udemy-cover.jpg");background-size:cover;background-position:center;}
.course__visual img{width:100%;height:100%;object-fit:cover;display:block;}
.course__body{padding:clamp(1.6rem,4vw,2.3rem);}
.course__body h3{margin:0 0 .7em;font-size:1.08rem;line-height:1.7;}
.course__meta{list-style:none;margin:0 0 1.4em;padding:0;display:flex;flex-wrap:wrap;gap:.5rem;}
.course__meta li{background:var(--cream);border-radius:999px;padding:.35em 1em;font-size:.8rem;color:var(--ink-soft);}

/* ---------- フォーム ---------- */
form{margin-top:1.8rem;max-width:32rem;}
.field{margin-bottom:1.3rem;}
label{display:block;font-size:.82rem;font-weight:600;letter-spacing:.06em;color:var(--ink);margin-bottom:.5em;}
input,select,textarea{
  width:100%;font-family:inherit;font-size:1rem;color:var(--ink);
  background:var(--white);border:1.5px solid var(--line);border-radius:10px;
  padding:.75em .9em;line-height:1.7;
}
textarea{min-height:8.5em;resize:vertical;}
input:focus,select:focus,textarea:focus{border-color:var(--kaki);}
button[type=submit]{
  font-family:inherit;font-size:.92rem;font-weight:600;letter-spacing:.08em;
  background:var(--kaki);color:#fff;border:0;border-radius:999px;
  padding:1em 3rem;cursor:pointer;margin-top:.6rem;transition:background .18s ease;
}
button[type=submit]:hover{background:var(--kaki-deep);}
.note{font-size:.84rem;color:var(--ink-soft);line-height:1.9;}

/* ---------- フッター ---------- */
.foot{background:var(--cream);padding:3rem 0 2.4rem;font-size:.88rem;}
.foot__inner{display:grid;gap:1.8rem;}
@media (min-width:720px){.foot__inner{grid-template-columns:1fr auto;align-items:end;}}
.foot__brand{display:flex;align-items:center;gap:.8rem;margin-bottom:1.2rem;
  text-decoration:none;color:inherit;}
.foot__brand:hover b{color:var(--sora);}
.foot__brand b{font-weight:600;letter-spacing:.1em;}
.foot dl{margin:0;display:grid;grid-template-columns:4.6em minmax(0,1fr);gap:.3em 1.2em;}
.foot dt{color:var(--ink-soft);font-size:.82em;letter-spacing:.1em;padding-top:.35em;}
.foot dd{margin:0;}
.foot dd{white-space:nowrap;}
@media (max-width:420px){.foot dd{white-space:normal;}}
.foot ul{list-style:none;margin:0;padding:0;display:flex;gap:1.5rem;flex-wrap:wrap;font-size:.84rem;}
.foot ul a{text-decoration:none;color:var(--ink-soft);}
.foot ul a:hover{color:var(--kaki);}
.copyright{font-size:.72rem;color:var(--ink-soft);letter-spacing:.08em;margin:2.4rem 0 0;}

/* ---------- トップの「アドラー心理学とは」要約＋イラスト ---------- */
.whatgrid{display:grid;gap:2.2rem;align-items:center;}
@media (min-width:860px){.whatgrid{grid-template-columns:1fr 23rem;gap:3.2rem;}}
.whatpic{margin:0;}
.whatpic img{width:100%;height:auto;display:block;border-radius:var(--r);box-shadow:var(--shadow);}
@media (max-width:859px){.whatpic{max-width:24rem;margin:0 auto;}}
.whatgrid .btn{margin-top:.8rem;}
.subhero h1 .subtitle{margin-top:.5em;font-size:.58em;}

/* ---------- 読み物としての節（アドラー心理学とは） ---------- */
.lead-in{font-size:clamp(1.08rem,2.8vw,1.25rem);line-height:2.1;letter-spacing:.03em;
  color:var(--kaki);font-weight:600;margin:0 0 1.6em;}
.lead-in span{display:block;}
.article h3{font-size:1.08rem;font-weight:600;letter-spacing:.07em;
  margin:3.2em 0 1.1em;padding-bottom:.6em;border-bottom:2px solid var(--sora);
  display:inline-block;}
.article h3:first-of-type{margin-top:2.2em;}
.article .term{margin:1.6em 0;padding:1.3rem 1.5rem;background:var(--white);
  border-radius:12px;box-shadow:var(--shadow);}
.article .term dl{margin:0;display:grid;gap:.7em 1.2em;grid-template-columns:5.5em 1fr;}
.article .term dt{font-weight:600;color:var(--kaki);letter-spacing:.08em;}
.article .term dd{margin:0;}
@media (max-width:520px){
  .article .term dl{grid-template-columns:1fr;gap:.15em;}
  .article .term dd{margin-bottom:.8em;}
  .article .term dd:last-child{margin-bottom:0;}
}
.article .beat{margin:2em 0;line-height:2.15;}
.article .beat b{display:block;font-weight:400;}
.article .closing{margin:1.8em 0;font-size:1.04rem;line-height:2.2;
  border-left:3px solid var(--sora);padding-left:1.2em;}
.subtitle{display:block;font-size:.62em;font-weight:400;color:var(--ink-soft);
  letter-spacing:.06em;margin-top:.7em;}
.band h2.with-sub{display:block;}
.band h2.with-sub::before{content:"";display:inline-block;width:.62em;height:.62em;
  border-radius:50%;background:var(--kaki);margin-right:.65em;vertical-align:.12em;}

/* ---------- 料金表 ---------- */
.price{margin:1.4rem 0 0;border-top:2px solid var(--kaki);}
.price__row{display:flex;align-items:baseline;justify-content:space-between;gap:1.2rem;
  padding:1.1em 0;border-bottom:1px solid var(--line);}
.price__row b{display:block;font-weight:600;font-size:1rem;letter-spacing:.04em;}
.price__row small{display:block;font-size:.82rem;color:var(--ink-soft);margin-top:.2em;}
.price__row strong{font-weight:600;font-size:1.12rem;letter-spacing:.03em;white-space:nowrap;}
.price__row.sub b{font-weight:400;font-size:.94rem;color:var(--ink-soft);}
.price__row.sub strong{font-size:1rem;font-weight:400;color:var(--ink-soft);}
.price__note{font-size:.86rem;color:var(--ink-soft);line-height:1.9;margin:1.1rem 0 0;}

/* ---------- フォームの注意書き ---------- */
.formnote{background:var(--cream);border-radius:12px;padding:1.2rem 1.4rem;
  font-size:.86rem;line-height:1.9;color:var(--ink-soft);margin:1.6rem 0 0;}
.formnote p:last-child{margin-bottom:0;}
.req{color:#C0392B;font-size:.78em;font-weight:600;margin-left:.5em;}

/* ---------- お悩みの一覧 ---------- */
.nayami{list-style:none;margin:1.4rem 0 0;padding:0;}
.nayami li{position:relative;padding:.75em 0 .75em 1.9em;border-bottom:1px solid var(--line);
  line-height:1.9;}
/* 一行に収めたい一覧があるページは、本文の幅そのものを広げる */
.column--wide{max-width:52rem;}
.column--wide > .blk > p,
.column--wide > .blk > .youkou,
.column--wide > .blk > .price,
.column--wide > .blk > .price__note,
.column--wide > .blk > .steps,
.column--wide > .blk > .formbox{max-width:34em;}
.nayami li::before{content:"";position:absolute;left:.35em;top:1.28em;
  width:.55em;height:.55em;border-radius:50%;background:var(--sora);}

/* ---------- 進め方の手順 ---------- */
.steps{list-style:none;margin:1.6rem 0 0;padding:0;counter-reset:st;}
.steps li{position:relative;padding:0 0 1.6rem 3.4rem;counter-increment:st;}
.steps li::before{content:counter(st);position:absolute;left:0;top:0;
  width:2.3rem;height:2.3rem;border-radius:50%;background:var(--kaki);color:#fff;
  display:grid;place-items:center;font-size:.92rem;font-weight:600;}
.steps li::after{content:"";position:absolute;left:1.13rem;top:2.6rem;bottom:.3rem;
  width:2px;background:var(--line);}
.steps li:last-child{padding-bottom:0;}
.steps li:last-child::after{display:none;}
.steps b{display:block;font-weight:600;font-size:1rem;letter-spacing:.04em;
  padding-top:.35em;margin-bottom:.35em;}
.steps span{display:block;font-size:.93rem;color:var(--ink-soft);line-height:1.95;}

/* ---------- 小ぶりの見出し（代表よりご挨拶など） ---------- */
.band h2.h2--sub{font-size:clamp(1.05rem,2.6vw,1.2rem);color:var(--ink);}
.band h2.h2--sub::before{background:var(--sora);width:.5em;height:.5em;}

/* ---------- 項目ごとの仕切り ---------- */
.blk{padding:2.4rem 0 .4rem;border-top:1px solid var(--line);}
.blk:first-of-type{border-top:0;padding-top:0;}
.blk > h3:first-child{
  margin:0 0 1.2em;font-size:1.1rem;font-weight:600;letter-spacing:.06em;
  border-left:4px solid var(--sora);padding-left:.85em;line-height:1.6;
}
.blk > h3:first-child::before{content:none;}

/* ---------- 下段の導線の行送り ---------- */
.cta p{max-width:38em;margin-left:auto;margin-right:auto;text-wrap:pretty;}
.br-pc{display:none;}
@media (min-width:760px){.br-pc{display:inline;}}

/* ---------- 確認画面・完了画面 ---------- */
.fmconfirm,.fmdone{margin-top:1.8rem;background:var(--cream);border-radius:var(--r);
  padding:1.6rem 1.7rem;}
.fmconfirm h4,.fmdone h4{margin:0 0 1rem;font-size:1.05rem;font-weight:600;letter-spacing:.06em;}
.fmdone h4{color:var(--kaki);}
.fmlist{margin:0;display:grid;grid-template-columns:9em 1fr;gap:.1em 1.2em;
  border-top:1px solid var(--line);}
.fmlist dt{font-size:.82rem;color:var(--ink-soft);padding:.85em 0 0;letter-spacing:.06em;}
.fmlist dd{margin:0;padding:.8em 0;border-bottom:1px solid var(--line);line-height:1.8;
  white-space:pre-wrap;}
.fmlist dt{border-bottom:1px solid var(--line);padding-bottom:.8em;}
@media (max-width:560px){
  .fmlist{grid-template-columns:1fr;}
  .fmlist dt{border-bottom:0;padding-bottom:0;}
}
.fmacts{display:flex;flex-wrap:wrap;gap:.7rem;margin-top:1.4rem;}
.fmacts .btn{cursor:pointer;font-family:inherit;}
.fmerr{margin:1rem 0 0;font-size:.86rem;color:#C0392B;line-height:1.8;}

/* ---------- ページ上部の写真（原寸を超えないようにする） ---------- */
.banner{margin:clamp(2.4rem,6vw,3.6rem) auto;max-width:612px;padding:0 var(--gutter);}
.banner img{width:100%;height:auto;display:block;border-radius:var(--r);box-shadow:var(--shadow);}
.banner--mid{margin-top:clamp(1.6rem,4vw,2.4rem);margin-bottom:clamp(1.6rem,4vw,2.4rem);}

/* ---------- 実績のテーマ一覧 ---------- */
.themes{list-style:none;margin:1.4rem 0 0;padding:0;display:grid;gap:.7rem;}
.themes li{background:var(--white);border-radius:12px;padding:1rem 1.2rem;
  box-shadow:var(--shadow);display:flex;align-items:baseline;gap:.9em;flex-wrap:wrap;}
.themes b{font-weight:600;font-size:1rem;letter-spacing:.04em;}
.themes span{font-size:.78rem;color:var(--kaki);background:var(--kaki-pale);
  border-radius:999px;padding:.25em 1em;white-space:nowrap;}

/* ---------- 記事中の挿絵 ---------- */
.figure{margin:2.4rem 0;}
.figure img{width:100%;height:auto;display:block;border-radius:var(--r);box-shadow:var(--shadow);}
.figure figcaption{font-size:.8rem;color:var(--ink-soft);margin-top:.8em;
  letter-spacing:.04em;line-height:1.8;}
.article .figure{max-width:none;}

/* ---------- 下層ページの見出し ---------- */
.subhero{background:var(--cream);padding:clamp(2.4rem,7vw,4rem) 0 clamp(2.2rem,6vw,3.2rem);
  border-bottom:1px solid var(--line);}
.crumb{font-size:.78rem;letter-spacing:.06em;color:var(--ink-soft);margin:0 0 1rem;}
.crumb a{color:var(--ink-soft);text-decoration:none;}
.crumb a:hover{color:var(--kaki);}
.subhero h1{font-size:clamp(1.5rem,4.4vw,2.1rem);font-weight:600;letter-spacing:.08em;
  margin:0;line-height:1.55;display:flex;align-items:center;gap:.6em;}
.subhero h1::before{content:"";width:.5em;height:.5em;border-radius:50%;background:var(--kaki);flex:none;}
.subhero p{margin:1.1rem 0 0;color:var(--ink-soft);font-size:.95rem;max-width:34em;}

/* ---------- 自己紹介などへの控えめなリンク ---------- */
.morelink{display:inline-flex;align-items:center;gap:.5em;font-size:.85rem;
  letter-spacing:.06em;color:var(--kaki);text-decoration:none;font-weight:600;
  border-bottom:1px solid var(--sora);padding-bottom:.15em;}
.morelink:hover{color:var(--sora);border-color:var(--kaki);}
.portrait .morelink{margin-top:.9em;}
.portrait{text-align:center;}
.portrait figcaption + .morelink{margin-top:.7em;}

/* ---------- 問い合わせへの帯 ---------- */
.cta{background:var(--kaki);color:var(--white);padding:clamp(2.4rem,7vw,3.4rem) 0;text-align:center;}
.cta .sheet{display:flex;flex-direction:column;align-items:center;}
.cta h2{justify-content:center;}
.cta h2{font-size:clamp(1.15rem,3vw,1.4rem);font-weight:600;letter-spacing:.07em;margin:0 0 .8rem;display:block;}
.cta p{color:rgba(255,255,255,.78);font-size:.92rem;margin:0 0 1.8rem;}
.cta .btn--fill{background:var(--sora);color:var(--kaki-deep);}
.cta .btn--fill:hover{background:var(--white);color:var(--kaki-deep);}

/* ---------- 準備中の印 ---------- */
.draft{background:var(--sora-pale);border-left:4px solid var(--sora);
  border-radius:0 10px 10px 0;padding:1.3rem 1.5rem;margin:1.6rem 0;}
.draft p:last-child{margin-bottom:0;}

/* ---------- フォームを枠で囲む ---------- */
.formbox{border:2px solid var(--kaki-pale);border-radius:var(--r);
  background:var(--white);padding:clamp(1.4rem,4vw,2rem);margin-top:1.6rem;}
.formbox form{margin-top:0;max-width:none;}
.formbox > form > .field:first-child{margin-top:0;}

/* ---------- 自己紹介ページ（版36） ---------- */
.subhero__grid{display:grid;gap:1.6rem;align-items:center;}
@media (min-width:700px){.subhero__grid{grid-template-columns:1fr auto;gap:3rem;}}
.subhero__self span{display:inline-block;}          /* 語のまとまりの途中で改行させない */
.face{margin:0;width:clamp(8.5rem,24vw,12.5rem);}
.face img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block;
  border-radius:50%;border:5px solid var(--white);box-shadow:var(--shadow);}
@media (max-width:699px){.face{order:-1;}}
.aisatsu--about{align-items:start;}
.portrait--mag img{border-radius:10px;}
.portrait--mag figcaption{font-size:.82rem;color:var(--ink-soft);}
.photorow{display:grid;gap:1.2rem;margin-top:2.6rem;}
@media (min-width:640px){.photorow{grid-template-columns:1fr 1fr;}}
.photorow img{width:100%;height:auto;aspect-ratio:16/10;object-fit:cover;display:block;
  border-radius:var(--r);box-shadow:var(--shadow);}

/* 行頭に「ー」や小さい「ゃ」などが来ないようにする（全ページ） */
body{line-break:strict;}

/* ---------- 自己紹介：連載の誌面と表紙を重ねて見せる（版37） ---------- */
@media (min-width:840px){.aisatsu--about{grid-template-columns:1fr 26rem;}}
.magstack{margin:0;}
.magstack__box{position:relative;aspect-ratio:1/0.9;}
.magstack__box img{position:absolute;height:auto;display:block;background:var(--white);
  box-shadow:0 4px 22px rgba(20,40,70,.18);}
.magstack__article{top:0;right:0;width:82%;border-radius:4px;}
.magstack__cover{bottom:0;left:0;width:64%;border-radius:6px;}
.magstack figcaption{font-size:.82rem;color:var(--ink-soft);text-align:center;margin-top:1em;letter-spacing:.04em;}
@media (max-width:839px){.magstack{max-width:30rem;}}
.photorow__cap{font-size:.82rem;color:var(--ink-soft);text-align:center;margin:.9em 0 0;letter-spacing:.04em;}

/* ---------- 自己紹介：『教育PRO』連載の一覧と誌面の表示（版39） ---------- */
.series__lead{max-width:34em;margin:1.2rem 0 0;}
.series{list-style:none;margin:2rem 0 0;padding:0;display:grid;gap:.9rem;}
@media (min-width:760px){.series{grid-template-columns:1fr 1fr;}}
.series__item{display:grid;gap:.2rem;height:100%;padding:1.05rem 1.3rem;background:var(--white);
  border-radius:12px;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);
  border-left:4px solid var(--sora);transition:transform .15s,box-shadow .15s;}
.series__item:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(20,40,70,.13);}
.series__no{font-size:.78rem;font-weight:600;letter-spacing:.1em;color:var(--kaki);}
.series__title{font-weight:600;line-height:1.7;}
.series__title rt{font-size:.55em;font-weight:400;}
.series__date{font-size:.78rem;color:var(--ink-soft);}

.viewer{position:fixed;inset:0;z-index:100;background:#0A1423;
  display:flex;flex-direction:column;}
.viewer[hidden]{display:none;}
.viewer__bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.6rem 1rem;
  padding:calc(.7rem + env(safe-area-inset-top,0px)) 1rem .7rem;color:var(--white);}
.viewer__title{margin:0;font-size:.9rem;letter-spacing:.04em;}
.viewer__acts{display:flex;gap:.5rem;flex-wrap:wrap;}
.viewer__acts button{font:inherit;font-size:.82rem;padding:.45em 1em;border-radius:999px;cursor:pointer;
  border:1px solid rgba(255,255,255,.45);background:transparent;color:var(--white);}
.viewer__acts button:hover{background:rgba(255,255,255,.12);}
.viewer__acts .viewer__close{background:var(--sora);border-color:var(--sora);color:var(--kaki-deep);font-weight:600;}
.viewer__stage{flex:1;overflow:auto;display:flex;align-items:center;justify-content:center;
  padding:0 1rem calc(1rem + env(safe-area-inset-bottom,0px));}
.viewer__stage img{max-width:100%;max-height:100%;height:auto;background:var(--white);cursor:zoom-in;display:block;}
.viewer.is-zoom .viewer__stage{display:block;}
.viewer.is-zoom .viewer__stage img{max-width:none;max-height:none;width:2000px;cursor:zoom-out;}

/* 連載名を濃く、はっきりと（版40） */
.band h2 .series__name{color:var(--kaki);font-weight:600;font-size:.72em;letter-spacing:.05em;margin-top:.55em;}


/* ---------- ブログ記事ページ（見本） ---------- */
.postfig{margin:2.4em 0;}
.postfig img{width:100%;max-width:500px;height:auto;display:block;border-radius:10px;box-shadow:var(--shadow);}
.article .quote{margin:2em 0;padding:1.2em 1.4em;background:var(--cream);border-left:3px solid var(--sora);
  border-radius:0 10px 10px 0;font-size:.98rem;line-height:2.1;}
.related{margin-top:3.4rem;padding-top:2rem;border-top:1px solid var(--line);max-width:52rem;}
.related ul{list-style:none;margin:1rem 0 0;padding:0;display:grid;gap:.8rem;}
.related a{text-decoration:none;color:var(--ink);font-weight:600;
  display:block;padding:.9em 1.2em;background:var(--white);border-radius:10px;box-shadow:var(--shadow);border-left:4px solid var(--sora);}
.related a:hover{color:var(--kaki);}
.head nav ul{gap:1.05rem;}.head nav a{white-space:nowrap;}

/* ヘッダー：お問い合わせをボタンに（版49） */
.head .nav-wide{display:none;}
@media (min-width:980px){.head .nav-wide{display:block;}}
.navbtn{white-space:nowrap;font-size:.82rem;font-weight:600;letter-spacing:.05em;text-decoration:none;
  color:#fff;background:var(--kaki);padding:.62em 1.25em;border-radius:999px;flex:none;}
.navbtn:hover{background:var(--kaki-deep);}
@media (max-width:420px){.navbtn{font-size:.76rem;padding:.55em 1em;}}
.article .note{margin:2em 0;padding:1.1em 1.3em;background:var(--kaki-pale);border-radius:10px;}
.article .note p{margin:0 0 .5em;font-size:.95rem;}
.article .note ul{margin:0;padding-left:1.2em;}
.article .note li{font-size:.95rem;line-height:2;}
.postfig img{max-width:500px;}
/* 縦長の画像は、幅を抑えて配置する（版53） */
.postfig--tall img{max-width:420px;}
.article .note ol.souki{margin:0;padding-left:1.4em;}
.article .note ol.souki li{font-size:.95rem;line-height:2;}

/* ---------- ブログ一覧：画像つきのカード（版58） ---------- */
.posts{list-style:none;margin:2.2rem 0 0;padding:0;display:grid;gap:1.4rem;}
@media (min-width:720px){.posts{grid-template-columns:1fr 1fr;gap:1.6rem;}}
.pcard{display:flex;flex-direction:column;height:100%;background:var(--white);border-radius:var(--r);
  overflow:hidden;box-shadow:var(--shadow);text-decoration:none;color:var(--ink);
  transition:transform .15s,box-shadow .15s;}
.pcard:hover{transform:translateY(-3px);box-shadow:0 8px 26px rgba(20,40,70,.14);}
.pcard__thumb{display:block;background:var(--cream-deep);}
.pcard__thumb img{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:center 30%;display:block;}
.pcard__body{display:flex;flex-direction:column;gap:.5rem;padding:1.15rem 1.3rem 1.35rem;border-top:3px solid var(--sora);}
.pcard__title{font-weight:600;font-size:1.02rem;line-height:1.75;}
.pcard__ex{font-size:.86rem;line-height:1.9;color:var(--ink-soft);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.pcard__thumb--fit{background:#0B1220;}
.pcard__thumb--fit img{object-fit:contain;}

/* トップページのブログ欄（版59） */
@media (min-width:860px){.posts--top{grid-template-columns:repeat(3,1fr);}}
.posts--top .pcard__ex{-webkit-line-clamp:2;}
.more{margin-top:2.2rem;}

/* ブログの紹介文（版60） */
.blog-lead{max-width:38em;margin:1.3rem 0 .7rem;font-size:1.06rem;font-weight:600;color:var(--kaki);line-height:1.95;}
.blog-intro{max-width:38em;margin:0;color:var(--ink-soft);font-size:.94rem;line-height:2.05;}
.blog-intro + .posts{margin-top:2.4rem;}
.blog-lead + .posts{margin-top:2.2rem;}

/* ---------- 版63：トップページの文字を大きく、間をゆったり ---------- */
body.home{font-size:17px;line-height:2.05;}
@media (min-width:800px){body.home{font-size:18px;}}
.home p{margin-bottom:1.8em;}
.home .band{padding:clamp(4rem,12vw,7rem) 0;}
.home .band h2{font-size:clamp(1.4rem,4.2vw,1.7rem);margin-bottom:2.4rem;}
.home .band .btn,.home .cta .btn{font-size:1rem;padding:1em 2.2em;}
.home .lead-in{font-size:clamp(1.18rem,3.4vw,1.35rem);}
.home .blog-lead{font-size:1.1rem;}
.home .posts{gap:2rem;}
.home .pcard__title{font-size:1.1rem;}
.home .pcard__ex{font-size:.95rem;}
.home .pcard__body{padding:1.3rem 1.4rem 1.5rem;}
.home .more{margin-top:2.8rem;}
.home .svc ul{gap:2rem;}
.home .svc__txt{padding:1.4rem 1.5rem 1.7rem;}
.home .svc em{font-size:.8rem;}
.home .svc b{font-size:1.2rem;}
.home .svc span{font-size:.95rem;}
.home .cta{padding:clamp(3.2rem,9vw,4.4rem) 0;}
.home .cta h2{font-size:clamp(1.3rem,3.6vw,1.55rem);}
.home .cta p{font-size:1rem;}

/* 「アドラー心理学とは」の副題を濃く目立たせる */
.subtitle--strong{color:var(--kaki);font-weight:600;font-size:.72em;letter-spacing:.05em;}

/* ご挨拶ページ：挨拶と自己紹介の間の仕切り */
.band--line{border-top:1px solid var(--line);}

/* ---------- 版64：扉は元の大きさに戻す／見出しと副題を縦に並べる ---------- */
.home .hero{font-size:16px;}
@media (min-width:800px){.home .hero{font-size:17px;}}
.subhero h1.with-sub{display:block;}
.subhero h1.with-sub::before{content:"";display:inline-block;width:.5em;height:.5em;
  border-radius:50%;background:var(--kaki);margin-right:.6em;vertical-align:.18em;}

/* ---------- 版64：ブログ一覧の紹介文を上段へ ---------- */
.subhero p.subhero__lead{color:var(--kaki);font-weight:600;font-size:clamp(1rem,2.8vw,1.1rem);
  line-height:1.95;max-width:40em;margin:1.2rem 0 0;}
.band > .sheet > .posts:first-child{margin-top:0;}
.subhero__lead span{display:inline-block;}   /* 語のまとまりの途中で改行させない */

/* ---------- 版68：ブログ記事の「この記事を書いた人」 ---------- */
.author{display:flex;gap:1.3rem;align-items:flex-start;max-width:52rem;margin-top:3.4rem;
  padding:1.5rem 1.6rem;background:var(--cream);border-radius:var(--r);}
.author__face{width:5.2rem;height:5.2rem;border-radius:50%;object-fit:cover;flex:none;
  border:3px solid var(--white);box-shadow:var(--shadow);}
.author__body p{margin:0;}
.author__label{font-size:.78rem;letter-spacing:.08em;color:var(--ink-soft);}
.author__name{font-weight:600;font-size:1.08rem;letter-spacing:.06em;margin:.2rem 0 .5rem !important;line-height:1.6;}
.author__name span{display:block;font-weight:400;font-size:.8rem;color:var(--ink-soft);letter-spacing:.03em;}
.author__text{font-size:.9rem;line-height:1.9;margin-bottom:.9rem !important;}
@media (max-width:520px){.author{flex-direction:column;gap:.9rem;padding:1.3rem;}}
.author + .related{margin-top:2.6rem;}
.author__name i{font-style:normal;display:inline-block;}

/* ---------- 版71：ブログ記事の「いいね♡」 ---------- */
.like{max-width:52rem;margin-top:3rem;text-align:center;}
.like__btn{display:inline-flex;align-items:center;gap:.55em;font:inherit;font-weight:600;font-size:1rem;
  letter-spacing:.06em;color:var(--kaki);background:var(--white);border:1.5px solid var(--kaki);
  border-radius:999px;padding:.7em 1.8em;cursor:pointer;transition:background .2s,color .2s,transform .15s;}
.like__btn:hover{background:var(--cream);}
.like__btn:active{transform:scale(.96);}
.like__heart{width:1.35em;height:1.35em;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;}
.like__count{min-width:1.2em;font-variant-numeric:tabular-nums;}
.like__note{margin:.8rem 0 0 !important;font-size:.84rem;color:var(--ink-soft);}
.like.is-liked .like__btn{background:var(--kaki);color:var(--white);cursor:default;}
.like.is-liked .like__heart{fill:#E8A0A0;stroke:#E8A0A0;}
.like.is-liked .like__btn{animation:likepop .35s ease;}
@keyframes likepop{50%{transform:scale(1.08);}}
.like + .author{margin-top:2.6rem;}

/* /online：講座の章立て */
.chapters{list-style:none;margin:1.6rem 0 1rem;padding:0;}
.chapters li{padding:.75em 0;border-bottom:1px solid var(--line);font-size:1rem;line-height:1.8;}
.chapters li:first-child{border-top:1px solid var(--line);}
.chapters li b{display:inline-block;min-width:4.2em;color:var(--kaki);font-weight:600;letter-spacing:.06em;}

/* ブログ記事：オンライン講座の案内（ここだけ深緑） */
.course-guide{margin-top:2.6rem;padding:clamp(1.5rem,4vw,2.1rem);max-width:52rem;
  background:#EEF3EC;border-top:4px solid #7FA38C;border-radius:var(--r);}
.course-guide h2{margin:0 0 .8em;font-size:clamp(1.08rem,2.8vw,1.22rem);font-weight:600;line-height:1.7;
  letter-spacing:.05em;color:#2F5D4A;display:block;}
.course-guide h2::before,.course-guide h2::after{content:none;}
.course-guide p{margin:0 0 1.5em;font-size:1rem;line-height:2;color:var(--ink);}
.course-guide .btn--fill{background:#2F5D4A;border-color:#2F5D4A;color:#fff;}
.course-guide .btn--fill:hover{background:#244A3B;border-color:#244A3B;color:#fff;}
