/* knj83 SOCCER CLUB - スクールページ専用CSS */

.school-intro { display:grid; grid-template-columns:1fr 1fr; gap:80px; align-items:center; margin-top:64px; }
    .school-intro-image img { width:100%; aspect-ratio:4/3; object-fit:cover; filter:brightness(0.85) contrast(1.05) saturate(0.9); }
    .school-intro-text h3 { font-family:var(--font-en); font-size:clamp(1.2rem,2.5vw,1.7rem); font-weight:700; letter-spacing:0.04em; margin-bottom:20px; line-height:1.35; }
    .school-intro-text p { font-size:0.9rem; color:var(--color-white); line-height:2; margin-bottom:14px; }
    .school-badges { display:flex; flex-wrap:wrap; gap:10px; margin-top:24px; }
    .school-badge { background:rgba(26,111,196,0.12); border:1px solid rgba(26,111,196,0.35); color:#6ab4ff; font-size:0.7rem; letter-spacing:0.12em; padding:5px 14px; font-family:var(--font-en); }
    .class-section-header { display:flex; align-items:flex-end; justify-content:space-between; margin-bottom:36px; padding-bottom:20px; border-bottom:1px solid var(--color-border); }
    .day-badge { font-family:var(--font-en); font-size:3rem; font-weight:700; color:rgba(240,244,248,0.07); line-height:1; }
    .class-cards-row { display:grid; gap:24px; }
    .class-cards-row.two-col { grid-template-columns:1fr 1fr; }
    .class-card-new { background:var(--color-navy); border:1px solid var(--color-border); transition:var(--transition); overflow:hidden; display:flex; flex-direction:column; }
    .class-card-new .class-card-body { flex:1; }
    .class-card-new:hover { border-color:rgba(26,111,196,0.45); transform:translateY(-3px); }
    .class-card-img { width:100%; height:200px; object-fit:cover; filter:brightness(0.8) contrast(1.05) saturate(0.85); display:block; }
    .class-card-body { padding:28px; display:flex; flex-direction:column; }
    .class-tag { font-family:var(--font-en); font-size:0.68rem; letter-spacing:0.2em; color:var(--color-accent); margin-bottom:8px; display:block; }
    .class-card-title { font-size:1.05rem; font-weight:700; line-height:1.4; margin-bottom:12px; }
    .class-card-rows { display:flex; flex-direction:column; border-top:1px solid var(--color-border); margin-top:14px; flex:1; }
    .class-card-row { display:flex; justify-content:space-between; align-items:baseline; padding:9px 0; border-bottom:1px solid var(--color-border); font-size:0.82rem; }
    .class-card-row:last-child { border-bottom:none; }
    .class-card-row .ck { color:var(--color-white); font-size:0.72rem; letter-spacing:0.06em; min-width:56px; }
    .class-card-row .cv { color:var(--color-white); text-align:right; }
    .class-card-price { margin-top:18px; padding-top:14px; border-top:1px solid rgba(26,111,196,0.25); display:flex; align-items:baseline; gap:5px; }
    .class-card-price .p-label { font-size:0.7rem; color:var(--color-white); letter-spacing:0.06em; }
    .class-card-price .p-fee { font-family:var(--font-en); font-size:1.6rem; font-weight:700; color:var(--color-white); line-height:1; }
    .class-card-price .p-unit { font-size:0.72rem; color:var(--color-white); }
    .class-card-price .p-nyukai { margin-left:auto; font-size:0.72rem; color:var(--color-white); }
    .adult-class-block { display:grid; grid-template-columns:1fr 1fr; gap:64px; align-items:start; }
    .adult-class-block img { width:100%; aspect-ratio:4/3; object-fit:cover; filter:brightness(0.8) contrast(1.05) saturate(0.85); }
    .adult-catch { font-family:var(--font-en); font-size:clamp(1.1rem,2vw,1.5rem); font-weight:700; line-height:1.4; letter-spacing:0.04em; margin-bottom:18px; }
    .adult-desc { font-size:0.88rem; color:var(--color-white); line-height:2; margin-bottom:24px; }
    .venue-grid { display:flex; flex-direction:column; gap:32px; margin-top:48px; }
    .venue-entry { display:grid; grid-template-columns:1fr 1fr; border:1px solid var(--color-border); overflow:hidden; min-height:260px; }
    .venue-map { background:var(--color-navy); }
    .venue-map iframe { width:100%; height:100%; min-height:260px; border:none; display:block; filter:grayscale(0.3) invert(0.9) hue-rotate(180deg) brightness(0.85); }
    .venue-info { padding:28px 32px; background:var(--color-navy); }
    .venue-card { background:var(--color-navy); border:1px solid var(--color-border); padding:32px; }
    .venue-card h3 { font-family:var(--font-en); font-size:0.78rem; letter-spacing:0.18em; color:var(--color-accent); margin-bottom:12px; }
    .venue-card p { font-size:0.86rem; color:var(--color-white); line-height:1.9; }
    .venue-use { display:block; margin-top:12px; font-size:0.72rem; color:var(--color-white); border-top:1px solid var(--color-border); padding-top:10px; }
    .faq-item { border-bottom:1px solid var(--color-border); padding:28px 0; }
    .faq-q { font-weight:700; font-size:0.93rem; margin-bottom:10px; color:var(--color-white); }
    .faq-a { font-size:0.87rem; color:var(--color-white); line-height:1.9; }
    @media(max-width:768px){
      .school-intro,.class-cards-row.two-col,.adult-class-block{grid-template-columns:1fr;gap:40px;}
      .venue-entry{grid-template-columns:1fr;}
      .venue-map iframe{height:200px;min-height:200px;}
      .class-section-header{flex-direction:column;align-items:flex-start;gap:8px;}
    }
