html {
  scroll-behavior: smooth; /* ページ内ジャンプがなめらかに */
}

.contents {
  width: 640px;
  margin: 40px auto;
  padding: 10px;
  display: flow-root;
}

.content-section {
  background: #5FA9A8;
  max-width: 640px;
  margin: 0 auto 20px;
  padding: 10px;
  border-radius: 10px;
  border: 3px solid #A1D7D6;
  box-shadow: 0 0 0 1.5px #D5F6F8 inset;
  box-sizing: border-box;
}

/* テキスト色（フォント指定なし） */
.content-section h2,
.content-section h3,
.content-section p,
.content-section ul,
.content-section li {
  color: #FFFFFF;
}


/* ?? 公式サイトなどの通常リンク（URL） */
.content-section a:not(.section-link) {
  font-size: 13px;
  color: #C4DDE4;
  text-decoration: none;
  display: inline-block;
  margin-top: 6px;
}

.content-section a:not(.section-link):hover {
  color: #467c7c;
  text-decoration: underline;
}

/* ?? 目次リンクだけは白文字にする */
.content-section a.section-link {
  color: #FFFFFF;
  text-decoration: none;
  font-weight: bold;
}

.content-section a.section-link:hover {
  color: #efefef;
  text-decoration: underline;
}


/* 画像表示調整（見た目を揃える） */
.content-section img {
  max-width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  margin-bottom: 10px;
}

.device-box {
  display: flex;
  align-items: center;
  gap: 20px;
  margin-bottom: 20px;
  background-color: #5FA9A8;
  border: 2px solid #A1D7D6;
  border-radius: 10px;
  padding: 10px;
}

.device-box img {
  width: 250px; /* 適度なサイズに調整可能です */
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
}

.device-description {
  flex: 1;
  text-align: left;
}

.device-description p,
.device-description a {
  color: #FFFFFF;
  font-size: 14px;
}

@media (max-width: 600px) {
  /* ?? 既存のままでOKな部分（ここは変更不要） */
  .contents {
    width: 95%;
    margin: 20px auto;
    padding: 5px;
  }

  .content-section {
    padding: 8px;
    margin-bottom: 15px;
  }

  .content-section h2,
  .content-section h3 {
    font-size: 20px;
  }

  .content-section p,
  .content-section li {
    font-size: 16px;
  }

  table {
    font-size: 14px;
    overflow-x: auto;
    display: block;
  }

  th, td {
    padding: 6px 8px;
  }

  /* ?? ここから新しく追加（おすすめデバイス向け） */
  .device-box {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
  }

  .device-box img {
    width: 100%;
    max-width: 300px;
    height: auto;
    margin-bottom: 10px;
  }

  .device-description {
    flex: none;
    width: 100%;
    text-align: center;
    font-size: 15px;
  }

  .device-description p,
  .device-description a {
    font-size: 14px;
  }
}
