
/* フォント設定 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Sofia+Sans+Condensed:wght@400;600&display=swap');

/* ベース設定 */
:root {

  --color-mitsumine: rgb(68 97 177);
  --color-content: #F7F6F2/*rgb(247 246 242)*/;
  /* 基本フォントサイズ: 16px基準 */
  font-size: 16px;

  /* PC */
  --text-small-size: 0.875rem;   /* 14px */
  --text-small-line: 2.57;

  --text-mid-size: 1.125rem;     /* 18px */
  --text-mid-line: 2.94;

  --text-ml-size: 1.8rem;     
  --text-ml-line: 1.0;

  --text-large-size: 2.1875rem;  /* 35px */
  --text-large-line: 1.0;
}
 @media (max-width: 768px) {
  :root {
    /* Mobile */
    --text-small-size: 0.8125rem;  /* 13px */
    --text-small-line: 2.54;

    --text-mid-size: 0.8125rem;    /* 13px */
    --text-mid-line: 2.92;

    --text-ml-size: 1.4rem;     
    --text-ml-line: 1.0;

    --text-large-size: 1.5625rem;  /* 25px */
    --text-large-line: 1.0;
  }
 }
 
/* フォント適用 */
body {
  font-family: "Noto Sans JP",  sans-serif;
  font-weight: 400;
  color: #222;
  margin: 0;
  padding: 0;
}
body .eng {
  font-family: "Sofia Sans Condensed",  sans-serif;
  font-weight: 600;
}

/* テキストクラス */
.text-small {
  font-size: var(--text-small-size);
  line-height: var(--text-small-line);
}

.text-mid {
  font-size: var(--text-mid-size);
  line-height: var(--text-mid-line);
}

.text-ml {
  font-size: var(--text-ml-size);
  line-height: var(--text-ml-line);
}

.text-large {
  font-size: var(--text-large-size);
  line-height: 1; 
  font-weight: 700;
}


/* ===== 共通ユーティリティ ===== */
.h-full { height: 100%; }
.w-full { width: 100%; }
.flex { display: flex; }
.flex-col { flex-direction: column; }
.flex-row { flex-direction: row; }
.flex-wrap { flex-wrap: wrap; }
.items-center { align-items: center; }
.items-stretch { align-items: stretch; }
.justify-center { justify-content: center; }
.grow { flex-grow: 1; }
.relative { position: relative; }
.absolute { position: absolute; }
.mx-auto { margin-left: auto; margin-right: auto; }
.mt-1 { margin-top: 1rem; }
.mt-3 { margin-top: 3.5rem; }
.p-4 { padding: 1rem 1rem 5px 1rem; margin: 0 auto; } /*アイコン周り*/
.py-4 { padding-top: 1rem; padding-bottom: 2rem; } /*フッタのマージン*/
.text-center { text-align: center; }
.text-xxs { font-size: 0.4rem; line-height: 1rem; }
.text-xs { font-size: 0.75rem; line-height: 1rem; }
.text-sm { font-size: 0.875rem; line-height: 1.25rem; }
.text-2xl { font-size: 2.1875rem; line-height: 2.2rem; }
.font-bold { font-weight: 700; }
.text-white { color: rgb(255 255 255); }
.text-mitsumine { color: var(--color-mitsumine); letter-spacing:4px; }
.text-gray-400 { color: rgb(156 163 175); }
.bg-content { background-color: var(--color-content); }
.bg-white { background-color: rgb(255 255 255); }
.indent-4 { text-indent: 1rem; }
.max-w { max-width: 980px; }
.aspect-\[4\/3\] { aspect-ratio: 4/3; }
.z-10 { z-index: 10; }
.z-20 { z-index: 20; }
.z-30 { z-index: 20; }
.-z-10 { z-index: -10; }

footer .text-center img{margin-top:1.8rem;}/*フッタロゴ上マージン*/
