@charset "UTF-8";

/* --------------------------------------------------
テーブル

<th>の文字は#003e88 <th>の背景色は#f4f8fb <tr>の上と下には線があり色は、#e5e5e
-------------------------------------------------- */
/* 会社情報テーブル */
.company-table table {
  width: 100%;
  border-collapse: collapse;
  box-sizing: border-box;
}

.company-table th,
.company-table td {
  padding: 12px 15px 12px 1.8rem;
  border-top: 1px solid #e5e5e5;
  border-bottom: 1px solid #e5e5e5;
  box-sizing: border-box;
}

.company-table th {
  width: 25%;
  background-color: #f4f8fb; /* 背景色 */
  color: #003e88;            /* 文字色 */
  text-align: left;
  font-weight: 700;
  font-size: clamp(18px, 1.8vw, 22px); /* 最小16px → ビューポート連動 → 最大20px */
}

.company-table td {
  color: #333;
  text-align: left;
  font-size: clamp(16px, 1.8vw, 20px); /* 最小16px → ビューポート連動 → 最大20px */
}

/* ===== レスポンシブ対応 ===== */
@media screen and (max-width: 768px) {
  .company-table table,
  .company-table tbody,
  .company-table tr,
  .company-table th,
  .company-table td {
    display: block;
    width: 100%;
  }

  .company-table tr {
    overflow: hidden;
    border-bottom: 1px solid #e5e5e5;
  }

  .company-table th {
    border: none;

    font-size: 15px;
  }

  .company-table td {
    border: none;
    font-size: 15px;
  }
}


/* --------------------------------------------------
理念ボックス
-------------------------------------------------- */
/* 理念ボックス グリッド */
.philosophy-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;

  width: 83%;
    margin: 0 auto;
}

.philosophy-item {
  background-color: #f4f8fb;
  padding: 1.7rem;
}

.philosophy-item h3 {
  color: #003e88;
  font-size: clamp(20px, 2vw, 28px); /* スマホ20px → PC28px */
  font-weight: 700;
  text-align: center; 
}

.philosophy-item p {
  color: #333;
  font-size: clamp(16px, 1.6vw, 20px); /* スマホ16px → PC20px */
  line-height: 1.8;
}
/* Philosophy のリストを箇条書き風にする */
.philosophy-list {
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: left; /* 文章は左寄せ */
}

.philosophy-list li {
  position: relative;
  padding-left: 1em; /* インデントを確保 */
  font-size: clamp(16px, 1.6vw, 20px);
  line-height: 1.8;
  color: #333;
}

.philosophy-list li::before {
  content: "・";
  position: absolute;
  left: 0;
  color: #333;
}
/* スマホ時は1カラム */
@media screen and (max-width: 950px) {
  .philosophy-grid {
    grid-template-columns: 1fr;
      width: 95%;
  }
}

/* --------------------------------------------------
人事理念（見出し＋番号付きリスト）
-------------------------------------------------- */
/* 人事理念（幅はPC80%、スマホ95%） */
.principle {
  width: 80%;
  margin: 2rem auto 2rem;
}

.principle-title {
  color:#003e88;
  font-weight:700;
  font-size:clamp(20px,2vw,28px);
  margin:0 0 .8rem;
}

/* 番号を全て「1.」にする */
.principle-list.fixed-number {
  list-style: none; /* デフォルト番号を消す */
  padding-left: 1.6em;
}

.principle-list.fixed-number li {
  position: relative;
  margin-bottom: 0.6em;
  font-size: clamp(16px,1.6vw,20px);
  line-height: 1.9;
  color:#333;
}

.principle-list.fixed-number li::before {
  content: "1."; /* すべて「1.」 */
  position: absolute;
  left: -1.6em;
  color: #333;
}

/* スマホ幅は95% */
@media screen and (max-width: 950px) {
  .principle {
    width: 90%;
  }
}



/* --------------------------------------------------
google
-------------------------------------------------- */

.block2.whiteblock{
  margin-bottom: 5rem;
}
@media screen and (min-width: 768px) {
/* 住所テキスト */
.access-address {
  font-size: clamp(18px, 1.6vw, 20px);
  line-height: 1.6;
  margin: 0 0 1rem;
  color: #333;
  text-align: left;
  width: 85%;
margin: 0 auto 1rem;
}

/* iframe を比率維持でレスポンシブにする */
.map-wrap {
  position: relative;
  width: 100%;
padding-top: 31.9%;
}

.map-wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  border: 0;
}
}
@media screen and (max-width: 767px) {
.block2-text iframe {
  width: 100%;
  min-height: 316px; /* スマホでも高さが確保されるように */
}
}