/* 読み込み前の崩れを防ぐため、最初は非表示にしておく */
#mm_column .slider {
  visibility: hidden; 
}

/* Slickの初期化が完了したら表示する */
#mm_column .slider.slick-initialized {
  visibility: visible;
}

/* Slider */
#mm_column .slick-slider
{
    position: relative;

    display: block;
    box-sizing: border-box;

    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;

    -webkit-touch-callout: none;
    -khtml-user-select: none;
    -ms-touch-action: pan-y;
        touch-action: pan-y;
    -webkit-tap-highlight-color: transparent;
}

#mm_column .slick-list
{
    position: relative;

    display: block;
    overflow: hidden;

    margin: 0;
    padding: 0;
}
#mm_column .slick-list:focus
{
    outline: none;
}
#mm_column .slick-list.dragging
{
    cursor: pointer;
    cursor: hand;
}

#mm_column .slick-slider .slick-track,
#mm_column .slick-slider .slick-list
{
    -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
        -ms-transform: translate3d(0, 0, 0);
         -o-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
}

#mm_column .slick-track
{
    position: relative;
    top: 0;
    left: 0;

    display: block;
    margin-left: auto;
    margin-right: auto;
}
#mm_column .slick-track:before,
#mm_column .slick-track:after
{
    display: table;

    content: '';
}
#mm_column .slick-track:after
{
    clear: both;
}
#mm_column .slick-loading .slick-track
{
    visibility: hidden;
}

#mm_column .slick-slide
{
    display: none;
    float: left;

    height: 100%;
    min-height: 1px;
}
[dir='rtl'] #mm_column .slick-slide
{
    float: right;
}
#mm_column .slick-slide img
{
    display: block;
}
#mm_column .slick-slide.slick-loading img
{
    display: none;
}
#mm_column .slick-slide.dragging img
{
    pointer-events: none;
}
#mm_column .slick-initialized .slick-slide
{
    display: block;
}
#mm_column .slick-loading .slick-slide
{
    visibility: hidden;
}
#mm_column .slick-vertical .slick-slide
{
    display: block;

    height: auto;

    border: 1px solid transparent;
}
#mm_column .slick-arrow.slick-hidden {
    display: none;
}

/* Slider */
#mm_column .slick-loading .slick-list
{
    background: #fff url('../img/loading.gif') center center no-repeat;
}

 
/* Icons
@font-face
{
    font-family: 'slick';
    font-weight: normal;
    font-style: normal;

    src: url('./fonts/slick.eot');
    src: url('./fonts/slick.eot?#iefix') format('embedded-opentype'), url('./fonts/slick.woff') format('woff'), url('./fonts/slick.ttf') format('truetype'), url('./fonts/slick.svg#slick') format('svg');
}

 */
 
/* Arrows */
#mm_column .slick-prev,
#mm_column .slick-next
{
    font-size: 0;
    line-height: 0;

    position: absolute;
    top: 50%;

    display: block;

    width: 20px;
    height: 20px;
    padding: 0;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);

    cursor: pointer;

    color: transparent;
    border: none;
    outline: none;
    background: transparent;
}
#mm_column .slick-prev:hover,
#mm_column .slick-prev:focus,
#mm_column .slick-next:hover,
#mm_column .slick-next:focus
{
    color: transparent;
    outline: none;
    background: transparent;
}
#mm_column .slick-prev:hover:before,
#mm_column .slick-prev:focus:before,
#mm_column .slick-next:hover:before,
#mm_column .slick-next:focus:before
{
    opacity: 1;
}
#mm_column .slick-prev.slick-disabled:before,
#mm_column .slick-next.slick-disabled:before
{
    opacity: .25;
}

#mm_column .slick-prev:before,
#mm_column .slick-next:before
{
    font-family: 'slick';
    font-size: 20px;
    line-height: 1;

    opacity: .75;
    color: white;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

#mm_column .slick-prev
{
    left: -25px;
}
[dir='rtl'] .slick-prev
{
    right: -25px;
    left: auto;
}
.slick-prev:before
{
    content: '←';
}
[dir='rtl'] .slick-prev:before
{
    content: '→';
}

#mm_column .slick-next
{
    right: -25px;
}
[dir='rtl'] .slick-next
{
    right: auto;
    left: -25px;
}
#mm_column .slick-next:before
{
    content: '→';
}
[dir='rtl'] .slick-next:before
{
    content: '←';
}

/* Dots */
#mm_column .slick-dotted.slick-slider
{
    margin-bottom: 30px;
}

#mm_column .slick-dots
{
    position: absolute;
    bottom: -25px;

    display: block;

    width: 100%;
    padding: 0;
    margin: 0;

    list-style: none;

    text-align: center;
}
#mm_column .slick-dots li
{
    position: relative;

    display: inline-block;

    width: 20px;
    height: 20px;
    margin: 0 5px;
    padding: 0;

    cursor: pointer;
}
#mm_column .slick-dots li button
{
    font-size: 0;
    line-height: 0;

    display: block;

    width: 20px;
    height: 20px;
    padding: 5px;

    cursor: pointer;

    color: transparent;
    border: 0;
    outline: none;
    background: transparent;
}
#mm_column .slick-dots li button:hover,
#mm_column .slick-dots li button:focus
{
    outline: none;
}
#mm_column .slick-dots li button:hover:before,
#mm_column .slick-dots li button:focus:before
{
    opacity: 1;
}
#mm_column .slick-dots li button:before
{
    font-family: 'slick';
    font-size: 6px;
    line-height: 20px;

    position: absolute;
    top: 0;
    left: 0;

    width: 20px;
    height: 20px;

    content: '•';
    text-align: center;

    opacity: .25;
    color: black;

    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
#mm_column .slick-dots li.slick-active button:before
{
    opacity: .75;
    color: black;
}


#mm_column .slider-container {
  max-width: 1200px;
  margin: 40px auto;
  padding: 0 60px; /* PC版：左右の矢印用の余白 */
  position: relative;
}

/* ----------------------------------
   スライドカードの基本スタイル＆透過設定
---------------------------------- */
#mm_column .slide-item {
  padding: 0 8px; /* カード同士の間隔 */
  transition: opacity 0.3s ease;
}

/* 非アクティブ・チラ見せ部分のカセットを「うっすら」表示 */
#mm_column .slick-slide {
  opacity: 0.35;
  transition: opacity 0.3s ease;
}

/* メイン（表示領域内・中央）のカセットはくっきり表示 */
#mm_column .slick-slide.slick-active.slick-center,
#mm_column .slick-slide.slick-active {
  opacity: 1;
}

/* カセット全体リンク設定 */
#mm_column .slide-inner {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #ffffff;
  border-radius: 12px;
  overflow: hidden;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  padding: 14px;
  transition: transform 0.25s cubic-bezier(0.25, 1, 0.5, 1), box-shadow 0.25s ease;
}

#mm_column .slide-inner:hover {
  transform: translateY(-4px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}

#mm_column .slide-inner img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  display: block;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

#mm_column .slide-title {
  font-size: 1.05rem;
  margin: 12px 0 6px;
  font-weight: 700;
  color: #0f172a;
}

#mm_column .slide-desc {
  font-size: 0.85rem;
  color: #64748b;
  line-height: 1.5;
  margin: 10px 0 0 0;
}

/* ----------------------------------
   洗練された矢印ボタン（〇の中に ＞）
---------------------------------- */
#mm_column .slick-prev, .slick-next {
  width: 44px;
  height: 44px;
  background-color: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 50%;
  z-index: 10;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
  transition: background-color 0.2s ease, border-color 0.2s ease;
  display: flex !important;
  align-items: center;
  justify-content: center;
  transform: none !important; /* アニメーション・拡大による揺れを完全に防止 */
}

/* 矢印（＞ / ＜）の描画 */
#mm_column .slick-prev::before,#mm_column .slick-next::before {
  content: "";
  width: 10px;
  height: 10px;
  border-top: 2px solid #334155;
  border-right: 2px solid #334155;
  display: block;
  opacity: 1;
}

/* 左矢印 (＜) */
#mm_column .slick-prev::before {
  transform: rotate(-135deg);
  margin-left: 3px;
}

/* 右矢印 (＞) */
#mm_column .slick-next::before {
  transform: rotate(45deg);
  margin-right: 3px;
}

/* ----------------------------------
   ホバー/フォーカス時（うっすらグレー表示）
---------------------------------- */
#mm_column .slick-prev:hover, .slick-next:hover,
#mm_column .slick-prev:focus, .slick-next:focus {
  background-color: #f1f5f9; /* うっすらグレー */
  border-color: #cbd5e1;     /* 枠線も少しだけ強調 */
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); /* 影の位置・大きさは固定 */
}

#mm_column .slick-prev:hover::before, .slick-next:hover::before,
#mm_column .slick-prev:focus::before, .slick-next:focus::before {
  border-color: #0f172a;
}

#mm_column .slick-prev {
  left: -20px;
}

.slick-next {
  right: -20px;
}

/* ----------------------------------
   ドットナビゲーション
---------------------------------- */
#mm_column .slick-dots {
  bottom: -40px;
}

#mm_column .slick-dots li {
  margin: 0 3px;
}

#mm_column .slick-dots li button::before {
  font-size: 10px;
  color: #cbd5e1;
  opacity: 1;
  transition: color 0.2s ease;
}

#mm_column .slick-dots li.slick-active button::before {
  color: #0f172a;
}

#mm_column .slick-slider a:hover{
text-decoration: none!important;
}

/* ----------------------------------
   スマホ（767px以下）向けの最適化
---------------------------------- */
@media screen and (max-width: 767px) {
 #mm_column .slider-container {
    padding: 0; /* 外枠余白を消してスライダーを拡大 */
    margin: 20px auto 40px;
    overflow: hidden; /* 見切れ要素のカット */
  }

 #mm_column  .slide-item {
    padding: 0 6px;
  }

 #mm_column  .slide-inner {
    padding: 12px;
    border-radius: 10px;
  }

 #mm_column  .slide-inner:hover {
    transform: none; /* スマホでは浮き上がりを解除 */
  }

 #mm_column  .slide-title {
    font-size: 0.95rem;
    margin: 8px 0 4px;
    line-height: 1.35;
  }

 #mm_column  .slide-desc {
    font-size: 0.78rem;
    line-height: 1.4;
  }

  /* スマホ用矢印ボタン */
  #mm_column .slick-prev, .slick-next {
    width: 36px;
    height: 36px;
    background-color: rgba(255, 255, 255, 0.9);
    backdrop-filter: blur(4px);
  }

  #mm_column .slick-prev::before, .slick-next::before {
    width: 8px;
    height: 8px;
  }

  #mm_column .slick-prev:hover, .slick-next:hover {
    background-color: #f1f5f9;
  }

  #mm_column .slick-prev {
    left: 8px;
  }

  #mm_column .slick-next {
    right: 8px;
  }

  #mm_column .slick-dots {
    bottom: -32px;
  }
}
