/* 共通部分 */

/* スライダー全体 */
.swiper-container {
    position: relative;
    width: 100%;
    overflow: hidden !important;
}
.swiper-wrapper {
    display: flex;
    width: 100%; /* スライダー全体の幅を調整 */
    padding-bottom: 40px; /* ページネーションの高さ分の余白を追加 */
}

/* スライドアイテム（.swiper-slide） */
.swiper-slide {
    flex-shrink: 0; /* アイテムが縮小しないように */
    width: 100%; /* スライダー内で親要素の幅に収める */
    box-sizing: border-box;
}

/* 画像の調整 */
.swiper-container-job .swiper-slide.job-slider-item img {
    width: 100%;  /* 親要素の幅に合わせる */
    height: 100px; /* 高さを自動で調整 */
    object-fit: contain; /* アスペクト比を保ちながら親要素内に収める */
}

/* スライドアイテム */
.swiper-container .swiper-slide {
    box-sizing: border-box; /* ボーダーやパディングを含めたサイズ計算 */
    overflow: hidden; /* 内容がはみ出ないように */
}

/* box_t 内の内容がはみ出さないようにする */
.swiper-container .swiper-slide .box_t {
    padding: 5px; /* 必要に応じてパディング調整 */
    box-sizing: border-box; /* パディングとボーダーを含めたサイズ計算 */
    overflow: hidden; /* はみ出し防止 */
}

/* テキストが長すぎる場合に折り返す */
.swiper-container .swiper-slide .box_t h3,
.swiper-container .swiper-slide .box_t dl dd {
    white-space: normal; /* 長いテキストは折り返す */
    overflow: hidden; /* はみ出た部分を隠す */
    text-overflow: ellipsis; /* 文字が溢れる場合に省略記号を表示 */
}

/* スライド画像の設定 */
.swiper-container .swiper-slide img {
    width: 100%;
    height: auto;
    object-fit: cover; /*アスペクト比を保ってコンテナ内に収める */
}


/* PC専用 */
@media screen and (min-width: 1024px) {
    /* ページネーション矢印のスタイル */
    .swiper-container .swiper-button-prev, .swiper-container .swiper-button-next {
        width: 40px !important; /* 円の直径を指定 */
        height: 40px !important; /* 円の直径を指定 */
        background-color: #FEBC2E !important;  /* 黄色の背景 */
        border-radius: 50% !important; /* 丸くする */
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        cursor: pointer;
    }

    .swiper-container .swiper-button-prev::after, .swiper-container .swiper-button-next::after {
        font-size: 18px !important; /* 矢印のサイズを小さくする */
        color: black !important; /* 矢印の色を黒に */
        font-weight: bold !important; /* 太くする */
    }

    /* 矢印のホバー時のスタイル */
    .swiper-container .swiper-button-prev:hover, .swiper-container .swiper-button-next:hover {
        background-color: #FEBC2E !important; /* ホバー時に色が変わる */
    }
}

.swiper-container-job .swiper-slide.job-slider-item img {
    max-width: 100%;  /* 親要素の幅に合わせて画像を縮小 */
    height: auto;     /* 高さを自動で調整 */
}

/* スマホ専用 */
@media screen and (max-width: 768px) {
    /* スライダーの矢印ボタンは非表示にする */
    .swiper-container .swiper-button-prev, .swiper-container .swiper-button-next {
        display: none !important;
    }

    /* スワイプ設定 */
    .swiper-container {
        touch-action: pan-y; /* スワイプを縦方向で制限 */
    }

    /* スライダーコンテナの設定 */
    .swiper-container-job {
        overflow: auto; /* アイテムがはみ出さないように設定 */
    }

    /* スライドをスワイプで切り替えるための設定 */
    .swiper-wrapper {
        display: flex;
        flex-wrap: nowrap; /* アイテムが重ならないように設定 */
    }
    
    /* スライドアイテムの見た目 */
    .swiper-container-job .swiper-slide.job-slider-item {
        box-sizing: border-box;
        width: 100%;  /* 親要素の幅に合わせる */
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        align-items: center;
    }

    /* スワイプをスムーズに動かす */
    .swiper-container-job, .swiper-container-company, .swiper-container-coupon .swiper-container-event {
        display: flex;
        justify-content: space-between;
    }
    .swiper-container-job .swiper-slide.job-slider-item {
        width: 100%; /* 親要素の幅に合わせて 100% に固定 */
    }
}

/* 共通ここまで */

/* 求人 */
.swiper-container-job .swiper-slide.job-slider-item {
    width: 100%;
    box-sizing: border-box; /* ボーダーやパディングを含めてサイズ計算 */
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.swiper-container-job .swiper-slide.job-slider-item img {
    max-width: 100%;
    height: 80px;
}

/* 求人ここまで */

/* 企業 */
.swiper-container-company .swiper-slide.company-slider-item {
    width: 100%;
    box-sizing: border-box;
    background-color: #fff; /* 背景色 */
    border: 1px solid #ddd; /* 薄いボーダーを追加 */
    border-radius: 8px; /* 角を丸くする */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* 軽いシャドウを追加して浮き上がらせる */
}

/* 企業スライダーの画像サイズ調整 */
.swiper-container-company .swiper-slide.company-slider-item img {
    max-width: 100%;
    height: 150px;
}

/* 企業ここまで */

/* オンライン施設見学 */
.swiper-container-tour .swiper-slide.tour-slider-item {
    width: 100%;
    box-sizing: border-box;
    background-color: #fff; /* 背景色 */
    border: 1px solid #ddd; /* 薄いボーダーを追加 */
    border-radius: 8px; /* 角を丸くする */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* 軽いシャドウを追加して浮き上がらせる */
}

/* オンライン施設見学の画像サイズ調整 */
.swiper-container-tour .swiper-slide.tour-slider-item img {
    max-width: 100%;
    height: 150px;
}
/* オンライン施設見学ここまで */

/* クーポン */
.swiper-container-coupon .swiper-slide.coupon-slider-item {
    width: 100%;
    box-sizing: border-box;
    background-color: #fff; /* 背景色 */
    border: 1px solid #ddd; /* 薄いボーダーを追加 */
    border-radius: 8px; /* 角を丸くする */
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* 軽いシャドウを追加して浮き上がらせる */
    text-align: center; /* 画像とタイトルを中央揃え */
}

/* クーポンスライダーの画像サイズ調整 */
.swiper-container-coupon .swiper-slide.coupon-slider-item img {
    max-width: 100%;
    height: 150px;
    object-fit: contain;
}

/* クーポンタイトル */
.coupon-title {
    font-size: 16px;
    font-weight: bold;
    color: #241dac;
    margin-top: 10px; /* タイトルの上に余白を追加 */
    text-align: center;
}

/* クーポンここまで */

/* イベント */
/* スライド本体 */
.swiper-container-event .swiper-slide.event-slider-item {
    width: 100%;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #ddd;
    border-radius: 8px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    overflow: hidden;        /* ← はみ出し防止 */
    padding: 0;              /* ← iframeが浮かないように */
    text-align: left;        /* ← iframeはblockで中央寄せするのでここはleftに */
}

/* 画像用 */
.swiper-container-event .swiper-slide.event-slider-item img {
    max-width: 100%;
    height: 150px;
    object-fit: cover;
}

/* 画像（個別詳細調整） */
.event-slider-item img {
    width: auto;
    height: 100%;
    max-height: 400px;
    object-fit: contain;
}

/* iframe専用 */
.event-slider-item iframe {
    width: 100%;
    height: 400px;
    display: block;
    margin: 0 auto;
    border: none;
    border-radius: 8px;
}

.pdf-wrapper {
  position: relative;
  width: 100%;
  height: 400px;           /* 黒枠の高さ */
  background: #000;        /* 背景黒 */
  overflow: hidden;        /* はみ出しを隠す */
  display: flex;
  align-items: center;     /* 縦中央 */
  justify-content: center; /* 横中央 */
}

.event-pdf-viewer {
  width: 100%;
  height: 100%;
  border: none;

  /* 縮小して中央に収める */
  transform: scale(0.9);          /* ← ここで拡大縮小 (90%) */
  transform-origin: center center;/* ← 中央基準で縮小 */
}
/* イベントここまで */