/* 爽やか版（?v=fresh）— site.css の上に重ねて、暗い面を白・淡いアクアに置き換える */
body.v-fresh {
  --ink: #22323b;
  --ink-soft: #566871;
  --paper: #ffffff;
  --paper-alt: #f1f7f8;
  --line: #d9e8ea;
  --gold: #3c9a9f;
  --gold-deep: #2a7a80;
  --gold-light: #a9d6d8;
  --aqua-soft: #e6f4f4;
  --brass: #b8955a;
  background: var(--paper);
}
.v-fresh h1, .v-fresh h2, .v-fresh h3 { font-weight: 600; }
.v-fresh .kicker { color: var(--gold); }

/* header */
.v-fresh .site-header { background: rgba(255,255,255,.94); border-bottom: 1px solid var(--line); }
.v-fresh .brand { color: var(--ink); }
.v-fresh .brand b { color: var(--ink); }
.v-fresh .brand small { color: var(--ink-soft); }
.v-fresh .gnav a { color: var(--ink); }
.v-fresh .gnav a .en { color: var(--gold); }
.v-fresh .gnav .nav-ext a { color: var(--gold-deep); }
.v-fresh .menu-toggle { color: var(--gold-deep); border-color: var(--gold); }

/* buttons */
.v-fresh .btn { border-radius: 999px; }
.v-fresh .btn-web { background: linear-gradient(135deg, #58b5b6, #2f8a90); }
.v-fresh .btn-tel { background: #fff; color: var(--ink); border-color: var(--gold); }
.v-fresh .btn-ghost { color: var(--gold-deep); border-color: var(--gold); }

/* hero */
.v-fresh .hero {
  background:
    radial-gradient(circle at 18% 30%, rgba(169,214,216,.55) 0, transparent 42%),
    radial-gradient(circle at 85% 80%, rgba(198,230,214,.6) 0, transparent 45%),
    linear-gradient(180deg, #f7fbfb 0%, #eaf5f5 100%);
  color: var(--ink);
}
.v-fresh .hero h1 { color: var(--ink); }
.v-fresh .hero h1 .h1-area { color: var(--gold-deep); }
.v-fresh .hero .lead { color: var(--ink-soft); }
.v-fresh .hero-info dt { color: var(--gold-deep); }

/* sections */
.v-fresh .page-head { background: linear-gradient(180deg, #f3f9f9 0%, var(--aqua-soft) 100%); color: var(--ink); border-bottom: 1px solid var(--line); }
.v-fresh .page-head .lead { color: var(--ink-soft); }
.v-fresh .h-sub { border-left-color: var(--gold); }
.v-fresh .concept, .v-fresh .course, .v-fresh .extra, .v-fresh .contact { border-radius: 14px; border-color: var(--line); box-shadow: 0 6px 20px rgba(34,50,59,.04); }
.v-fresh .course-mini { border-radius: 12px; border-top-color: var(--gold); box-shadow: 0 6px 20px rgba(34,50,59,.04); }
.v-fresh .feature-list li, .v-fresh .chips li { border-color: var(--gold-light); color: var(--gold-deep); border-radius: 999px; background: #fff; }
.v-fresh .badge { background: var(--brass); border-radius: 0 0 6px 6px; }
.v-fresh .cast figure { border-radius: 12px; }
.v-fresh .tag { border-radius: 4px; }
.v-fresh .tag-pre { background: #fff; color: var(--brass); border-color: var(--brass); }
.v-fresh .info { border-radius: 12px; overflow: hidden; }
.v-fresh .map, .v-fresh .map iframe { border-radius: 12px; }

/* cta & footer */
.v-fresh .cta-band { background: linear-gradient(135deg, #e3f3f3 0%, #eef8f1 100%); color: var(--ink); }
.v-fresh .cta-meta, .v-fresh .cta-band .small { color: var(--ink-soft); }
.v-fresh .cta-band a:not(.btn) { color: var(--gold-deep); }
.v-fresh .site-footer { background: #f4f8f9; color: var(--ink-soft); border-top: 1px solid var(--line); }
.v-fresh .foot-name { color: var(--ink); }
.v-fresh .foot-name small { color: var(--ink-soft); }
.v-fresh .foot-links a { color: var(--ink); }
.v-fresh .foot-note { border-top-color: var(--line); }

@media (max-width: 1180px) {
  .v-fresh .gnav { background: #fff; border-bottom-color: var(--line); }
  .v-fresh .gnav a { border-bottom-color: var(--line); }
}
@media (max-width: 640px) {
  .v-fresh .sp-bar { background: rgba(255,255,255,.97); border-top-color: var(--gold); }
  .v-fresh .sp-bar a { color: var(--gold-deep); border-right-color: var(--line); }
  .v-fresh .sp-bar a:nth-child(3) { background: linear-gradient(135deg, #58b5b6, #2f8a90); color: #fff; }
}
