@media (max-width: 400px) {
  /* GREETING */
  .career-pic{
    gap: 10px;
  }
  /* 営業時間 */
  .pc {
    display: none;
  }
  .table-sp {
    display: table-cell;
    background-color: #dfe9f5; /* 通常の背景に合わせる */
    font-size: 1.3rem;
    text-align: center;
    padding: 8px;
  }
  .schedule-table th, 
  .schedule-table td {
      padding: 8px;
      font-size: 1.3rem;
  }
  .schedule-table th:first-child, 
  .schedule-table td.time {
      width: 16%;
  }
  /* 他の列の幅 */
  .schedule-table th:not(:first-child), 
  .schedule-table td:not(.time) {
      width: 12%;
  }
  /* 日・祝の列の設定 */
  .schedule-table th:last-child {
    letter-spacing: -0.2em;
    padding: 2px; /* 余白を少し減らす */
  }
  .mainvisual-slider {
    width: calc(100vw - 20px);
    height: 60vh;
    overflow: hidden;
    position: relative;
    margin: 10px auto 50px auto;
  }
  .mainvisual-slides {
    display: flex;
    width: calc((100vw - 20px) * 5);
    transition: transform 1.2s ease-in-out;
  }
  .mainvisual-slides img {
    width: calc(100vw - 20px); 
    object-fit: cover;
    object-position: center; /* 画像の中央を表示 */
  }
}

@media (max-width: 700px) {
  body{
      font-size: 1.6rem;
  }
  .container{
      max-width: 100%;
      padding: 0 10px;  /* 画面端にぴったりくっつかないようにする */
  }

  /* FONT-SIZE */
  .font-size-15{
      font-size: 1.3rem;
  }
  .font-size-20{
      font-size: 1.8rem;
  }
  .font-size-30{
      font-size: 2.8rem;
  }
  .content-title{
      font-size: 2.3rem;
  }
  .header-title{
      font-size: 2.8rem;
  }
  .sub-title{
      font-size: 3.5rem;
  }
  .column{
      flex-direction: column;
  }
  .column-reverse{
    flex-direction: column-reverse
  }
  .none{
      display: none;
  }
  .sp{
      display: block;
  }
  .padding-side-50{
    padding: 0 30px;
  }
  .margin-0-auto-sp{
    margin: 0 auto;
  }
  .waku-blue{
    padding: 20px;
  }
  .waku-green{
    padding: 20px;
  }
  .img-base-size{
    width: 250px;
    height: 180px;
  }
  .width-270{
    width: 250px;
  }


  /* TABLE */
  .schedule-table {
    width: 100%;
  }
  .schedule-table td:nth-child(7) { /* 土曜日の列 */
    font-size: 1.3rem;
    word-break: break-word; /* 単語の途中で折り返し */
    white-space: normal; /* 改行を許可 */
    line-height: 1.2; /* 行間を狭める */
    padding: 5px; /* 余白を減らす */
  }
  /* 日・祝の列の設定 */
  .schedule-table th:last-child {
      min-width: 60px; /* 最小幅を指定して狭くなりすぎないように */
      max-width: 80px; /* 最大幅を指定してバランスを取る */
      text-overflow: clip; /* 省略を防ぐ */
      white-space: nowrap; /* 改行しない */
      letter-spacing: -0.1em;
      padding: 3px; /* 余白を少し減らす */
  }


  /* GENERAL */
  .denture-btn-wrapper{
    padding: 0%;
  }
  #DENTURE .btn{
    margin: 30px auto;
  }

  /* ORTHODONTICS */
  .example-content{
    flex-direction: column;
    padding: 20px 0;
  }
  #ORTH .btn{
    margin: 20px auto;
  }


  /* ACCESS */
  #ACCESS{
      text-align: center;
  }

  /* スクロールボタン */
  #scrollTopBtn {
      width: 40px;
      height: 40px;
      font-size: 2rem;
      bottom: 15px;
      right: 15px;
  }
  footer{
      padding: 0 10px;
  }

  /* GREETING */
  .career-pic{
    flex-direction: row;
    gap: 20px;
    justify-content: center;
    width: 60%;
  }
  .career-txt{
    width: 100%;
  }
}



@media (max-width: 1000px) {
  .general_mainvisual{
    width: 100%;
  }

  .mainvisual-slider {
    width: calc(100vw - 20px);
    height: 60vh;
    overflow: hidden;
    position: relative;
    margin: 10px auto 50px auto;
  }

  .mainvisual-slides {
    display: flex;
    width: calc((100vw - 20px) * 5);
    transition: transform 1.2s ease-in-out;
  }

  .mainvisual-slides img {
    width: calc(100vw - 20px); 
    object-fit: cover;
    object-position: center; /* 画像の中央を表示 */
  }
}


