/* CSS Document */

/* カレンダー用 */
.calendar ul.nav  {
display:table;
table-layout: fixed;
width:100%;
border-left: 1px solid #ccc;
border-bottom: 1px solid #ccc;
}
.calendar ul.nav li{
display:table-cell;
vertical-align:middle;
text-align:center;
}
.calendar li.th {
 border-right: 1px solid #ccc;
 background-color: #eee8aa;
 padding:5px 2px 5px 2px;
 }

.calendar li.td {
 border-right: 1px solid #ccc;
 padding:5px 2px 5px 2px;
 }
.calendar li.syun {
 background-color:#F7CD1D;
 padding:2px;
 }
.calendar li.syun2 {
 background-color:#FBE765;
 padding:2px;
 }
.calendar a {
	display: block;
 }

/* カルーセル */
.card-wrap {
  overflow: visible; 
}
 
/* 横スクロールを解除し、自動で折り返して綺麗に並ぶようにする */
.card-box {
  display: flex;
  flex-wrap: wrap;     /* 画面幅に収まらない場合は下段に折り返す */
  overflow-x: visible; /* 横スクロールを無効化 */
  scroll-snap-type: none; /* スナップ機能をオフ */
  padding: 0;
  justify-content: center; /* カードを中央寄せ（左寄せなら flex-start） */
}

/* 各カードの幅を固定から「3カラム（3列）」などに自動調整 */
.card-item {
  flex: 0 0 calc(32%); /* 3列で並べる */
  margin: 5px;            /* 2段目になったときの下の余白 */
}

/* ==========================================================================
   画面幅が 640px 以下（SP環境）のときの設定
   ========================================================================== */
@media only screen and (max-width : 640px){

  /* 外枠：はみ出たカードを隠す */
  .card-wrap {
    width: 100%;
    overflow: hidden;
    padding: 10px 0;
  }

  /* 親要素：横並び＆スクロール制御 */
  .card-box {
    display: flex;
    flex-wrap: nowrap;       /* ★重要：PCの折り返しを解除し、横一列に強制する */
    justify-content: flex-start; /* ★重要：左端から綺麗にスクロールさせる */
    overflow-x: auto;
    overflow-y: hidden;
    scroll-snap-type: x mandatory;
    -webkit-overflow-scrolling: touch;
    
    /* スクロールバー非表示（Firefox/IE） */
    scrollbar-width: none;
    -ms-overflow-style: none;
    padding-left: 5px;
    padding-right: 5px;
  }

  /* スクロールバー非表示（Chrome/Safari） */
  .card-box::-webkit-scrollbar {
    display: none;
  }

  /* 各カード（子要素） */
  .card-item {
    flex: 0 0 280px; /* カードの横幅（縮まない設定） */
    margin: 0 15px 0 0; /* ★調整：下のマージンを0にし、右側の余白だけに整理 */
    scroll-snap-align: start;
  }
}