/**
 * Theme Name: SnowLetter
 * Author: SnowLetter
 * Description: SnowLetter Project - 案内サイト＆共通デザインマスター [V3.1.2]
 * Version: 3.1.2
 * ---------------------------------------------
 * 【SnowLetter Project: デザインシステム】
 * ---------------------------------------------
 * 【1. 命名規則】
 * - 全ての共通クラスは接頭辞 `sl-` を冠する。
 * - 状態を示すクラスは `is-` を冠する。
 *
 * 【2. 単位とスケーリング】
 * - 16px (1rem) を基準とした相対単位。
 * - 8px(0.5rem)の倍数グリッド。
 *
 * 【3. 運用ルール】
 * - 変数管理: カラーコード等の変数は `sl-variables.css` で一括管理する。
 * - 読込順序: PHP(functions.php)側で variables.css -> style.css の順にロード。
 * ---------------------------------------------
 * 【上記コメント削除不可】
 * ---------------------------------------------
 */

/************************************
 1. 基本リセット & スケーリング
 ************************************/
* { box-sizing: border-box; }
html { font-size: 100%; }
body {
    margin: 0; padding: 0;
    background-color: var(--sl-bg-color);
    color: var(--sl-text-color);
    font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
    display: flex; flex-direction: column; min-height: 100vh;
    line-height: 1.7; -webkit-font-smoothing: antialiased;
}

/************************************
 2. ヘッダー・サイトロゴ
 ************************************/
.sl-site-header {
  padding: 0.5rem 0;
  text-align: center;
  border-top: none;
}

/* サイトタイトル本体（雪だま装飾は削除） */
h1.sl-site-title {
  font-size: 1.8rem;
  font-weight: 400;
  color: var(--sl-main-color);
  letter-spacing: -0.02em;
  font-family: "Pacifico", cursive;
  font-style: normal;
  margin: 0;
}


/************************************
 3. ページタイトル（h2）
************************************/
h2.sl-page-title {
  position: relative; /* ← 雪だまを載せるために必要 */
  text-align: center;
  font-family: "Kaisei Decol", serif;
  font-weight: 500;
  font-size: 1.6rem;
  color: var(--sl-text-color);

  padding-top: 2.4rem; /* ← 雪だまの分だけ余白を追加 */
}

/* 雪だまアイコン（中央上） */
h2.sl-page-title::before {
  content: '';
  position: absolute;
  top: 0.2rem; /* ちょこんと乗ってる感じ */
  left: 50%;
  transform: translateX(-50%);
  width: 2.4rem;
  height: 2.4rem;

  background: url('https://snowletter.net/field/wp-content/themes/sl-field/icons/overlay-start-front.svg')
    no-repeat center center;
  background-size: contain;

  opacity: 0.95;
  pointer-events: none;
}

h2.sl-page-title span {
  position: relative;
  z-index: 1;
}


/************************************
 4. フッター
 ************************************/
.sl-site-footer {
    padding: 1rem 0;
    margin-top: auto;
    text-align: center;
    font-size: 0.85rem;
    color: #999;
}
.sl-copyright {
    letter-spacing: 0.05em;
}

/************************************
 5. 状態制御・共通リンク・コンテナ
 ************************************/
.sl-text-center { text-align: center; }
.is-hidden { display: none !important; }

a {
    color: var(--sl-link-color); text-decoration: none;
    transition: color 0.2s ease;
}
a:hover { color: var(--sl-accent-color); }

.sl-container {
    width: 100%; max-width: 37.5rem; 
    margin: 0 auto; padding: 0 1.5rem;
}
.sl-main-content { flex: 1; padding: 0; }

/* 共通マージン */
.sl-mt-8  { margin-top: 0.5rem !important; }
.sl-mt-16 { margin-top: 1rem !important; }
.sl-mt-24 { margin-top: 1.5rem !important; }
.sl-mt-32 { margin-top: 2rem !important; }
.sl-mt-40 { margin-top: 2.5rem !important; }

.sl-mb-8  { margin-bottom: 0.5rem !important; }
.sl-mb-16 { margin-bottom: 1rem !important; }
.sl-mb-24 { margin-bottom: 1.5rem !important; }
.sl-mb-32 { margin-bottom: 2rem !important; }
.sl-mb-40 { margin-bottom: 2.5rem !important; }

/************************************
 6. 共通ボタン
 ************************************/
.sl-text-small {
    font-size: 0.8rem;
    line-height: 1.5;
}

.sl-link-btn {
    display: inline-block;
    padding: 0.5rem;
}

.sl-btn {
    display: inline-block;
    width: 100%;
    padding: 0.9rem 1rem;
    font-size: 1rem;
    font-weight: 600;
    border-radius: 3rem;
    border: none;
    cursor: pointer;
    text-align: center;
    transition: all 0.3s ease;
}
.sl-btn-primary { 
    background-color: var(--sl-main-color) !important;
    color: #fff !important; 
    box-shadow: 0 4px 12px rgba(127, 184, 216, 0.2);
}
.sl-btn-primary:hover {
    background-color: var(--sl-main-color-hover) !important;
}