.insure-image{
  width: 100%;
  height: auto;
}

.image-row {
  display: flex;
  justify-content: center; /* 均等配置 */
  align-items: center;
  flex-wrap: wrap; /* スマホ表示で縦並びになる */
}

.image-box {
  flex: 1;
  max-width: 220px; /* ボックスの最大幅 */
  padding: 10px;
  text-align: center;
}

.about-container {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 30px;
  gap:50px;
}

.about-text {
  max-width: 450px;
  text-align: left;
}

.about-feature {
  font-size: 18px;
  color: #007acc;
  margin-bottom: 10px;
  text-align: center;
}

.about-content {
  text-align: left; /* 左寄せ */
  margin: 0; /* 不要な余白を削除 */
  padding: 0 0 0 10px; /* 左側に30pxの余白を追加 */
  gap:10px;
}

.about-heading {
  font-size: 24px;
  color: #333;
  margin: 0;
  line-height: 1.5; /* 行間を調整 */
  text-align: left;
  letter-spacing: 4px;
}



.about-divider {
  width: 100%;
  /* max-width: 200px; */
  border: 1px solid rgba(192,192,192);
  margin: 10px 0; /* 上下の余白 */
}

.about-description {
  font-size: 15px;
  color: #555;
  line-height: 1.4;
  margin: 10px 0 0 0; /* 上部余白を適度に設定 */
  padding: 0; /* パディングを削除 */
}


.about-image {
  max-width: 450px;
  text-align: center;

}


.about-photo {
  width: 100%;
  max-width: 400px;
  height: auto;
  margin-top:20px;
}

.about-text .highlight {
  color: #00aaff;
  font-weight: bold;
}

.insurance-pricing {
  padding: 40px 20px;
  background-color: #fff;
}

.insurance-container{
  max-width: 1000px;
  width: 100%; /* 画面幅が1000px以下のときは可変 */
  margin: 0 auto; /* 左右のマージンを自動で均等に */
}

.pricing-title {
  font-size: 24px;
  color: #333;
  border-left: 2px solid #00aaff;
  padding-left: 10px;
  margin-left: 65px;
  margin-bottom: 20px;
  letter-spacing: 4px;
}

.pricing-table {
  width: 100%;
  max-width: 750px; /* テーブルの最大幅を設定 */
  margin: 20px auto; /* 上下に20pxの余白、左右を自動で中央揃え */
  border-collapse: collapse;
}

.pricing-table th:first-child,
.pricing-table td:first-child {
  width: 170px;
}

.pricing-table th:not(:first-child),
.pricing-table td:not(:first-child) {
  width: 210px;
}

.pricing-table th,
.pricing-table td {
  border: 1px solid #00aaff;
  text-align: center;
  padding: 25px 0;
  font-size: 11px;
}

.pricing-table th {
  background-color: #e6f7ff;
}

.pricing-note {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  text-align: center;
}

/* tdタグの最初だけ色をつける */
td:first-child {
  background-color: #e6f7ff;
}


.self-pricing {
  padding: 40px 20px;
  background-color: #fff;
}

.self-container{
  max-width: 1000px;
  width: 100%; /* 画面幅が1000px以下のときは可変 */
  margin: 0 auto; /* 左右のマージンを自動で均等に */
}

.self-pricing-title {
  font-size: 24px;
  color: #333;
  border-left: 2px solid #00aaff;
  padding-left: 10px;
  margin-left: 65px;
  margin-bottom: 20px;
  letter-spacing: 4px;
}

.self-pricing-table {
  width: 100%;
  max-width: 750px; /* テーブルの最大幅を設定 */
  margin: 20px auto; /* 上下に20pxの余白、左右を自動で中央揃え */
  border-collapse: collapse;
}

.self-pricing-table th:first-child{
  width: 300px;
}

.self-pricing-table th:not(:first-child) {
  width: 450px;
}


.self-pricing-table th,
.self-pricing-table td {
  border: 1px solid #00aaff;
  text-align: center;
  padding: 25px 0;
  font-size: 12px;
}

.self-pricing-table th {
  background-color: #e6f7ff;
  font-weight: bold;
}

.self-pricing-note {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  text-align: center;
}

.self-payment-pricing {
  padding: 40px 20px;
  background-color: #fff;
}

.self-payment-pricing-container{
  max-width: 1000px;
  width: 100%; /* 画面幅が1000px以下のときは可変 */
  margin: 0 auto; /* 左右のマージンを自動で均等に */
}

.self-payment-pricing-title {
  font-size: 24px;
  color: #333;
  border-left: 2px solid #00aaff;
  padding-left: 10px;
  margin-left: 65px;
  margin-bottom: 20px;
  letter-spacing: 4px;
}

.self-payment-pricing-table {
  width: 100%;
  max-width: 750px; /* テーブルの最大幅を設定 */
  margin: 20px auto; /* 上下に20pxの余白、左右を自動で中央揃え */
  border-collapse: collapse;
}

.self-payment-pricing-table th:first-child{
  width: 300px;
}

.self-payment-pricing-table th:not(:first-child) {
  width: 450px;
}

.self-payment-pricing-table th,
.self-payment-pricing-table td {
  border: 1px solid #00aaff;
  text-align: center;
  padding: 25px 0;
  font-size: 12px;
}

.self-payment-pricing-table th {
  background-color: #e6f7ff;
  font-weight: bold;
}

.self-payment-pricing-note {
  font-size: 14px;
  color: #555;
  line-height: 1.6;
  text-align: center;
}


/* スマホ表示のスタイル */
@media screen and (max-width: 950px) {
  .image-row {
    flex-direction: column; /* 縦並び */
    gap: 15px; /* ボックス間の隙間を調整 */
  }

  .image-box {
    max-width: 300px; /* 幅を全体に広げる */
  }

  .about-title {
    font-size: 20px; /* タイトルのフォントサイズを縮小 */
  }

  .about-background {
    font-size: clamp(20px, 20vw, 60px); /* さらに小さい画面用に調整 */
  }

  .about-container {
    flex-direction: column;
    padding: 10px;
    gap:0px;
  }

  .about-photo {
    margin-top: 20px;
  }

  .reverse {
    flex-direction: column-reverse; /* テキストを画像の下に配置 */
  }

  .about-content {
    text-align: left; /* 左寄せ */
    margin: 0; /* 不要な余白を削除 */
    padding:10px; /* 左側に20pxの余白を追加 */
  }

  .about-description{
    font-size: 13px;
  }

  .ajust-high{
    display: none;
  }

  .pricing-title {
    margin:0;
  }

  .self-pricing-title {
    margin:0;
  }

  .self-payment-pricing-title {
    margin:0;
  }

  .pricing-note {
    font-size: 12px;
  }

  .self-pricing-note{
    font-size: 12px;
  }

  .self-payment-pricing-note{
    font-size: 12px;
  }

  .insurance-container{
    max-width: 400px;
  }

  .self-container{
    max-width: 400px;
  }

  .self-payment-pricing-container{
    max-width: 400px;
  }
}
