@charset "UTF-8";

/*--------------------------------------------------------
タイポグラフィ
--------------------------------------------------------*/

/* フォント読み込み最適化 */
html {
  font-display: swap;
}

/* フォントが読み込まれる前の表示 */
body {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* フォント読み込み完了後の表示 */
.fonts-loaded body {
  font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
}

/* =======================================
　明朝フォント追加
======================================= */

p.serif,
ul.serif li,
ol.serif li,
h1.serif,
h2.serif,
h3.serif,
h4.serif,
h5.serif,
h6.serif {
  font-family: var(--type-primary-font-serif) !important;
}


/* =======================================
　英文フォント追加
======================================= */
/*----- 英語（Roboto） -----*/
p.roboto,
ul.roboto li,
ol.roboto li,
h1.roboto,
h2.roboto,
h3.roboto,
h4.roboto,
h5.roboto,
h6.roboto {
  font-family: var(--type-primary-font-en-roboto) !important;
}

/*----- 英語（Outfit） -----*/
p.outfit,
ul.outfit li,
ol.outfit li,
h1.outfit,
h2.outfit,
h3.outfit,
h4.outfit,
h5.outfit,
h6.outfit {
  font-family: var(--type-primary-font-en-outfit) !important;
}


/* =======================================
　グループ内のテキスト
======================================= */
/*----- テキストの下余白を0に -----*/
.wp-block-group.is-vertical>p,
.wp-block-group.is-nowrap>p,
.wp-block-group__inner-container>p {
  padding-bottom: 0 !important;
}


/* =======================================
　段落
======================================= */

/*----- ポップアップ -----*/
#sgpb-popup-dialog-main-div p {
  padding-bottom: calc(var(--size-primary-font) * 1);
}

/* =======================================
　リンク
======================================= */
/* リンク */
p a {
  color: var(--color-primary-link);
  text-decoration: underline;
}

p a:hover {
  text-decoration: none;
}

/* 基本的なタイポグラフィ設定 */
body {
  font-size: var(--size-primary-font);
  line-height: 1.7;
  color: var(--color-text);
}

/* 見出し */
h1, h2, h3, h4, h5, h6 {
  font-weight: 700;
  line-height: 1.4;
  margin-bottom: 1em;
}

h1 {
  font-size: 2.5em;
}

h2 {
  font-size: 2em;
}

h3 {
  font-size: 1.5em;
}

h4 {
  font-size: 1.25em;
}

h5 {
  font-size: 1.1em;
}

h6 {
  font-size: 1em;
}

/* 段落 */
p {
  margin-bottom: 1.5em;
}

/* リンク */
a {
  color: var(--color-link);
  text-decoration: none;
  transition: color 0.3s ease;
}

a:hover {
  color: var(--color-link-hover);
}

/* リスト */
ul, ol {
  margin-bottom: 1.5em;
  padding-left: 1.5em;
}

li {
  margin-bottom: 0.5em;
}

/* 強調 */
strong, b {
  font-weight: 700;
}

em, i {
  font-style: italic;
}

/* コード */
code {
  background: var(--color-gray-light);
  padding: 0.2em 0.4em;
  border-radius: 3px;
  font-family: 'Courier New', monospace;
  font-size: 0.9em;
}

/* 引用 */
blockquote {
  border-left: 4px solid var(--color-primary);
  padding-left: 1em;
  margin: 1.5em 0;
  font-style: italic;
  color: var(--color-gray-dark);
}

/* テーブル */
table {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: 1.5em;
}

th, td {
  padding: 0.75em;
  border: 1px solid var(--color-gray-light);
  text-align: left;
}

th {
  background: var(--color-gray-light);
  font-weight: 700;
}

/* レスポンシブ対応 */
@media screen and (max-width: 768px) {
  h1 {
    font-size: 2em;
  }
  
  h2 {
    font-size: 1.75em;
  }
  
  h3 {
    font-size: 1.5em;
  }
  
  body {
    font-size: 16px;
  }
}