/*
Theme Name: One Voice
Theme URI: https://onevoice2026.com
Author: 株式会社 One Voice
Author URI: https://onevoice2026.com
Description: 株式会社 One Voice オフィシャルサイト用オリジナルテーマ。トップページに体験レッスン＆説明会の申し込みフォーム（Contact Form 7）を組み込んでいます。
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: onevoice
*/

/* ============================================================
   ベーススタイル（土台のみ・最小構成）
   本格的なデザインは今後このファイルに追記していけます。
   フォーム部分のスタイルは assets/css/onevoice-form.css に分離。
   ============================================================ */

:root {
  --ink: #3d3760;
  --deep: #514a7d;
  --purple: #8b7bb8;
  --pink: #c98cb6;
  --paper: #ffffff;
  --wrap: 1080px;
}

* { box-sizing: border-box; }

body {
  margin: 0;
  color: var(--ink);
  font-family: 'Zen Kaku Gothic New', 'Hiragino Kaku Gothic ProN', 'Yu Gothic', sans-serif;
  line-height: 1.8;
  background: #fff;
}

a { color: var(--purple); }

img { max-width: 100%; height: auto; }

/* ---- サイトヘッダー ---- */
.site-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 18px 24px;
}

.site-header__brand {
  font-family: 'Cormorant Garamond', serif;
  font-style: italic;
  font-weight: 500;
  font-size: 28px;
  text-decoration: none;
  background: linear-gradient(90deg, var(--purple), var(--pink));
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.site-nav ul {
  display: flex;
  gap: 22px;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 14px;
  font-weight: 500;
}

.site-nav a {
  text-decoration: none;
  color: var(--ink);
}

.site-nav a:hover { color: var(--purple); }

/* ---- サイトフッター ---- */
.site-footer {
  margin-top: 64px;
  padding: 32px 24px;
  background: var(--deep);
  color: #fff;
  text-align: center;
  font-size: 13px;
  letter-spacing: 0.08em;
}

/* ---- 汎用コンテナ ---- */
.container {
  max-width: var(--wrap);
  margin: 0 auto;
  padding: 40px 24px;
}

/* ---- スキップリンク（アクセシビリティ） ---- */
.skip-link {
  position: absolute;
  left: -9999px;
}
.skip-link:focus {
  left: 12px;
  top: 12px;
  z-index: 1000;
  padding: 8px 14px;
  background: #fff;
  border-radius: 6px;
}


@media (max-width: 600px) {
  .site-header { flex-direction: column; align-items: flex-start; gap: 12px; }
  .site-nav ul { flex-wrap: wrap; gap: 14px; }
}
