/* =========================================================
   Comfort Section — 夏の暑さ対策・快適な講習環境（2026-08 新設・通年掲載）
========================================================= */
.comfort{ background:var(--base-2); padding:var(--section-gap) 0; }
.cf-top{ display:grid; grid-template-columns:1.15fr .85fr; gap:6vw; align-items:center; margin-bottom:clamp(48px, 7vw, 70px); }
.cf-top .h-ja{ margin:10px 0 18px; }
.cf-top__lead{ color:var(--ink); font-size:var(--ts-lead); line-height:1.85; margin-bottom:14px; text-wrap:balance; }
.cf-top__desc{ color:var(--ink-body); font-size:var(--ts-body); line-height:1.9; }
.cf-top figure{ aspect-ratio:3/4; overflow:hidden; }
.cf-top figure img{ width:100%; height:100%; object-fit:cover; }

.cf-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:clamp(20px, 2.6vw, 30px); }
.cf-card figure{ aspect-ratio:3/4; margin-bottom:18px; overflow:hidden; }
.cf-card figure img{ width:100%; height:100%; object-fit:cover; }
.cf-num{ font-family:var(--en); font-size:15px; letter-spacing:.16em; color:var(--accent); }
.cf-card h3{
  font-family:var(--serif); font-weight:500;
  font-size:clamp(16px, .9vw + 13px, 18px); letter-spacing:.08em; line-height:1.7;
  margin:8px 0 10px; color:var(--ink);
}
.cf-card p{ font-size:var(--ts-body); color:var(--ink-body); line-height:1.9; }

/* 夏期誘導バー（HTML側を撤去してもCSSは残置可＝来夏再利用） */
.cf-season-bar{
  display:flex; align-items:center; justify-content:center; gap:14px;
  max-width:var(--container); margin:clamp(1.2rem, 3vw, 2rem) auto 0;
  padding:.8rem clamp(20px, 4vw, 28px);
  border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  color:var(--ink); text-decoration:none;
}
.cf-season-bar:hover{ text-decoration:none; }
.cf-season-bar__label{ font-family:var(--en); letter-spacing:.18em; color:var(--accent); }
.cf-season-bar__text{ font-size:var(--ts-body); }
.cf-season-bar__arrow{ color:var(--accent); transition:transform .3s ease; }
.cf-season-bar:hover .cf-season-bar__arrow{ transform:translateX(4px); }
.cf-season-bar:focus-visible{ outline:3px solid var(--sky); outline-offset:2px; }
@media (prefers-reduced-motion:reduce){ .cf-season-bar__arrow{ transition:none; } }

@media(max-width:959px){
  .cf-top{ grid-template-columns:1fr; gap:30px; margin-bottom:40px; }
  .cf-grid{ grid-template-columns:1fr; gap:0; border-top:1px solid var(--line); }
  .cf-card{
    display:grid; grid-template-columns:130px 1fr; column-gap:18px;
    padding:22px 0; border-bottom:1px solid var(--line); align-items:start;
  }
  .cf-card figure{ grid-row:1 / 4; margin:0; }
  .cf-season-bar{ flex-wrap:wrap; gap:6px 14px; text-align:center; }
}
