/* 0.4.6 表示の修正（最後に読み込む） */

/* ヒーロー：手書き文字が写真の顔に重なるため、PC・タブレットでは出さない（スマホは写真の右上の空いた所に出る） */
@media (min-width:701px){.hero-photo-note{display:none!important}}

/* ヒーロー下の青帯：アイコン＋2行。項目の幅をそろえ、文字が仕切り線にかからないようにする */
.v3-facts{padding-block:20px}
.v3-facts .v3-facts-grid{max-width:1360px;grid-template-columns:repeat(5,minmax(0,1fr));gap:0}
.v3-facts .v3-fact{display:grid;grid-template-columns:40px minmax(0,1fr);column-gap:10px;align-items:center;padding:8px 14px;border-left:1px solid rgba(255,255,255,.18)}
.v3-facts .v3-fact:first-child{border-left:0}
#terakoya-home-root .v3-ico{width:40px;height:40px;border-radius:0;background:none;padding:0;opacity:.95}
.v3-facts .v3-fact strong{display:block;white-space:normal;font:900 14.5px/1.4 "Zen Kaku Gothic New",sans-serif;color:#fff;word-break:auto-phrase;overflow-wrap:normal}
.v3-facts .v3-fact:first-child strong{color:var(--yellow)}
.v3-facts .v3-fact span{display:block;margin-top:3px;font-size:12px;line-height:1.5;color:rgba(255,255,255,.8);word-break:auto-phrase;overflow-wrap:normal}
@media (max-width:1200px){
  .v3-facts .v3-facts-grid{grid-template-columns:repeat(3,minmax(0,1fr));row-gap:6px}
  .v3-facts .v3-fact:nth-child(4){border-left:0}
}
@media (max-width:700px){
  .v3-facts{padding-block:14px}
  .v3-facts .v3-facts-grid{grid-template-columns:1fr;row-gap:0}
  .v3-facts .v3-fact{border-left:0;border-top:1px solid rgba(255,255,255,.14);padding:10px 4px;grid-template-columns:36px minmax(0,1fr)}
  .v3-facts .v3-fact:first-child{border-top:0}
  #terakoya-home-root .v3-ico{width:36px;height:36px}
  .v3-facts .v3-fact strong{font-size:14.5px}
}

/* 授業の流れ：アイコン */
.v3-flow-ico{position:absolute;right:14px;top:16px;width:40px;height:40px}
@media (max-width:700px){.v3-flow li{position:relative;padding-right:60px}.v3-flow-ico{top:50%;transform:translateY(-50%);right:12px;width:36px;height:36px}}

/* 育てたい力：アイコン（リングの項目） */
.value-ico{display:block;width:34px;height:34px;margin:0 auto 4px}
.value-item strong{font-size:18px}
@media (max-width:700px){.value-ico{width:24px;height:24px;margin-bottom:2px}.value-item strong{font-size:14px}}

/* ご家庭へ：大きい見出しが右の列に食い込まないようにする */
.family-block .stance-inner{grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);gap:56px}
.family-block .stance-copy{min-width:0}
.family-block .stance-copy h2{font-size:clamp(32px,3.4vw,52px);line-height:1.25;letter-spacing:-.03em}
.family-block .stance-copy h2 span{display:inline}
@media (max-width:1000px){.family-block .stance-inner{grid-template-columns:1fr;gap:32px}}
@media (max-width:700px){.family-block .stance-copy h2{font-size:clamp(28px,8vw,34px)}}
.concept-copy .section-title{word-break:auto-phrase;text-wrap:balance}
.value-center{line-height:1.45}
@media (max-width:700px){
  .value-item{width:104px}
  .value-item span{display:none}
  .value-item.active{width:150px;z-index:6}
  .value-item.active span{display:block;font-size:10px;line-height:1.45}
  .value-center{width:104px;height:104px;font-size:12px}
}
.family-block .stance-copy h2{word-break:auto-phrase}

/* 授業の流れの写真・代表のイラスト */
.v4-lesson-photo{margin:0 0 22px;position:relative;border-radius:20px;overflow:hidden}
#terakoya-home-root .v4-lesson-photo img{display:block;width:100%;height:clamp(220px,32vw,420px);object-fit:cover;object-position:center 40%;border-radius:20px}
.v4-lesson-photo figcaption{position:absolute;right:12px;bottom:10px;font-size:10.5px;color:#fff;background:rgba(6,47,103,.55);padding:3px 8px;border-radius:999px}
.v4-profile-illust{display:block;width:min(100%,360px);height:auto;margin-top:18px}

/* 0.4.7 案内動画・代表の画像 */
.v4-guide-video{margin:0 0 34px}
.v4-guide-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:20px;background:#0b1f3f;box-shadow:0 18px 44px rgba(13,55,100,.14)}
.v4-guide-video figcaption{margin-top:8px;font-size:12px;color:#6b778a;text-align:right}
.v4-profile{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:48px;align-items:start}
.v4-profile-text .v3-quote{margin-top:22px}
.v4-portrait{margin:0}
#terakoya-home-root .v4-portrait img{display:block;width:100%;height:auto;aspect-ratio:720/827;object-fit:cover;border-radius:20px;box-shadow:0 16px 40px rgba(13,55,100,.12)}
.v4-portrait figcaption{margin-top:6px;font-size:10.5px;color:#7c8899;text-align:right}
@media (max-width:900px){.v4-profile{grid-template-columns:1fr;gap:24px}.v4-portrait{max-width:300px}}

/* お知らせカード：画像を大きく、締切を目立たせる */
.notice-card.has-image{padding-top:0;overflow:hidden}
#terakoya-home-root .notice-card .notice-image{display:block;width:calc(100% + 44px);max-width:none;height:auto;aspect-ratio:16/9;object-fit:cover;margin:0 -22px 14px;border-radius:0}
.notice-card.has-image .notice-meta{margin-top:0}
.notice-deadline{display:inline-block;margin-top:10px;padding:4px 10px;border-radius:999px;background:#fff3e6;color:#b35400;font-size:12px;font-weight:800}
.notice-deadline.is-closed{background:#eef1f5;color:#6b778a}
#terakoya-home-root .notice-card .notice-image{position:static;right:auto;top:auto}
.notice-card.has-image strong,.notice-card.has-image p{padding-right:0!important}
.v3-two.v4-profile{grid-template-columns:minmax(0,1fr) minmax(0,340px);gap:48px}
.v4-profile-text .v3-quote{margin-top:26px}
.v4-profile-text .v3-quote p{margin:0}
.v4-profile-text .v3-quote p+p{margin-top:12px}
@media (max-width:900px){.v3-two.v4-profile{grid-template-columns:1fr;gap:24px}}

/* 0.4.9 講座一覧 */
.v4-course-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:24px}
.v4-course{display:grid;grid-template-columns:44px minmax(0,1fr);column-gap:12px;align-items:start;padding:18px 16px;border-radius:16px;background:#fff;border:1px solid rgba(11,63,135,.12);text-decoration:none;color:var(--ink);transition:transform .2s ease,box-shadow .2s ease}
.v4-course:hover{transform:translateY(-2px);box-shadow:0 14px 30px rgba(15,63,116,.1)}
.v4-course img{grid-row:span 2;width:44px;height:44px}
.v4-course strong{font:900 16.5px/1.4 "Zen Kaku Gothic New",sans-serif;color:var(--navy)}
.v4-course span{margin-top:4px;font-size:12.5px;line-height:1.65;color:#4c5a6e;word-break:normal;line-break:strict}
@media (max-width:1000px){.v4-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.v4-course-grid{grid-template-columns:1fr}.v4-course{padding:14px}}
