/* 5領域の支援について（自前ページ）。
   ⚠ テーマの色だけを使う。#2B2B2B 本文 / #B6232A 差し色 / #E8E8E8 罫 / #efe8d7 地 */
#fd .inner { max-width: 1080px; margin: 0 auto; padding: 0 24px; }
/* ⚠ テーマは body に word-break: break-all。日本語が途中で割れるのでこの区画だけ戻す */
#fd, #fd * { word-break: normal; overflow-wrap: anywhere; line-break: strict; }

#fd .fd-mv { background: #efe8d7; padding: 56px 24px 60px; text-align: center; }
#fd .fd-mv h1 { font-size: 2.2rem; letter-spacing: .06em; }
#fd .fd-mv h1 span {
  display: block; margin-top: 8px; font-family: "Times New Roman", serif;
  font-size: 1.1rem; letter-spacing: .18em; color: #B6232A;
}
#fd .fd-lead { padding: 48px 24px 0; text-align: center; }
#fd .fd-lead p { line-height: 2.1; }
#fd .fd-note { margin-top: 18px; font-size: 1.2rem; color: #6b6b6b; text-align: left; }

#fd .fd-sec { padding: 56px 0; }
#fd .fd-montessori { background: #FAFAFA; margin-top: 48px; }
#fd .fd-ttl { text-align: center; }
#fd .fd-ttl h2 { font-size: 2rem; letter-spacing: .05em; }
#fd .fd-en {
  font-family: "Times New Roman", serif; font-size: 1.05rem;
  letter-spacing: .2em; color: #B6232A; margin-top: 6px;
}
#fd .fd-sub { text-align: center; margin: 18px auto 0; max-width: 760px; line-height: 2; }
#fd .fd-photo-wide { margin: 32px 0 8px; border-radius: 10px; overflow: hidden; }

/* モンテッソーリ5領域 */
#fd .fd-mont-list { margin-top: 24px; display: grid; gap: 14px; }
#fd .fd-mont-list > li {
  display: flex; gap: 16px; background: #FFF; border: 1px solid #E8E8E8;
  border-radius: 10px; padding: 22px 20px;
}
#fd .fd-mont-list .no {
  font-family: "Times New Roman", serif; font-size: 1.8rem; color: #B6232A;
  line-height: 1; flex: 0 0 auto;
}
#fd .fd-mont-list h3 { font-size: 1.5rem; }
#fd .fd-mont-list h3 em {
  display: block; font-style: normal; font-family: "Times New Roman", serif;
  font-size: 1.05rem; letter-spacing: .14em; color: #B6232A; margin-top: 2px;
}
#fd .fd-mont-list p { margin-top: 8px; line-height: 1.95; }

/* 国の5領域 */
#fd .fd-five-list { margin-top: 32px; display: grid; gap: 14px; }
/* ⚠ 子セレクタにする。入れ子の .aim li までカードになる */
#fd .fd-five-list > li {
  background: #FFF; border: 1px solid #E8E8E8; border-radius: 10px;
  padding: 24px 22px; display: flex; gap: 18px; align-items: flex-start;
}
#fd .fd-five-list > li > img { width: 52px; flex: 0 0 52px; }
#fd .fd-five-list > li > div > h3 { font-size: 1.6rem; }
#fd .fd-five-list > li > div > .act {
  display: inline-block; margin-top: 4px; font-size: 1.15rem; color: #B6232A;
  border-bottom: 1px solid #efe8d7; padding-bottom: 2px;
}
#fd .fd-five-list > li > div > p { margin-top: 10px; line-height: 1.95; }
#fd .fd-five-list .aim {
  margin-top: 12px; padding-top: 12px; border-top: 1px dashed #E8E8E8;
  font-size: 1.2rem; color: #6b6b6b;
}
#fd .fd-five-list .aim li { position: relative; padding-left: 14px; line-height: 1.9; }
#fd .fd-five-list .aim li::before {
  content: ""; position: absolute; left: 0; top: .85em;
  width: 5px; height: 5px; border-radius: 50%; background: #CCCBC6;
}
#fd .fd-callout {
  margin-top: 26px; background: #efe8d7; border-radius: 8px;
  padding: 16px 20px; text-align: center; font-size: 1.25rem; line-height: 1.9;
}

/* 生活そのものが療育 */
#fd .fd-daily { background: #FAFAFA; }
#fd .fd-daily-list { margin-top: 32px; display: grid; gap: 20px; }
#fd .fd-daily-list > li { background: #FFF; border-radius: 10px; overflow: hidden; border: 1px solid #E8E8E8; }
/* ⚠ 写真の縦横比がバラバラ（水を運ぶだけ縦長）。3:2 に切り揃える。
   テーマの img{height:auto !important} があるので aspect-ratio で高さを作る */
#fd .fd-daily-list img { display: block; width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
#fd .fd-photo-wide img { display: block; width: 100%; aspect-ratio: 16 / 7; object-fit: cover; }
#fd .fd-daily-list h3 { font-size: 1.5rem; padding: 18px 20px 0; }
#fd .fd-daily-list p { padding: 8px 20px 22px; line-height: 1.95; }

#fd .fd-next { text-align: center; padding-bottom: 72px; }
#fd .fd-next .btn { margin: 22px auto 0; }

@media (min-width: 768px) {
  #fd .fd-mont-list { grid-template-columns: 1fr 1fr; }
  #fd .fd-daily-list { grid-template-columns: repeat(3, 1fr); }
}
@media (min-width: 1025px) {
  #fd .fd-mv { padding: 80px 24px 86px; }
  #fd .fd-mv h1 { font-size: 3rem; }
  #fd .fd-sec { padding: 84px 0; }
  #fd .fd-ttl h2 { font-size: 2.6rem; }
  #fd .fd-five-list { grid-template-columns: 1fr 1fr; }
}
