@charset "UTF-8";

/* Flex */
.flex { display:flex; }
.flex-col { flex-direction:column; }
.flex-wrap { flex-wrap:wrap; }
.justify-between { justify-content:space-between; }
.justify-center { justify-content:center; }
.items-center { align-items:center; }

/* Grid */
.grid { display:grid; }
.grid-2 { grid-template-columns:repeat(2, 1fr); }
.grid-3 { grid-template-columns:repeat(3, 1fr); }
.grid-gap { gap:20px; }

/* Spacing */
.m-1 { margin: 0.25rem; }
.m-2 { margin: 0.5rem; }
.m-3 { margin: 1rem; }
.m-4 { margin: 1.5rem; }
.m-5 { margin: 3rem; }

.mt-1 { margin-top: 0.25rem; }
.mt-2 { margin-top: 0.5rem; }
.mt-3 { margin-top: 1rem; }
.mt-4 { margin-top: 1.5rem; }
.mt-5 { margin-top: 3rem; }

.mb-1 { margin-bottom: 0.25rem; }
.mb-2 { margin-bottom: 0.5rem; }
.mb-3 { margin-bottom: 1rem; }
.mb-4 { margin-bottom: 1.5rem; }
.mb-5 { margin-bottom: 3rem; }

.ms-1 { margin-left: 0.25rem; }
.ms-2 { margin-left: 0.5rem; }
.ms-3 { margin-left: 1rem; }
.ms-4 { margin-left: 1.5rem; }
.ms-5 { margin-left: 3rem; }

.me-1 { margin-right: 0.25rem; }
.me-2 { margin-right: 0.5rem; }
.me-3 { margin-right: 1rem; }
.me-4 { margin-right: 1.5rem; }
.me-5 { margin-right: 3rem; }

.mx-auto { margin: 0 auto; }

.p-1 { padding: 0.25rem; }
.p-2 { padding: 0.5rem; }
.p-3 { padding: 1rem; }
.p-4 { padding: 1.5rem; }
.p-5 { padding: 3rem; }

.pt-1 { padding-top: 0.25rem; }
.pt-2 { padding-top: 0.5rem; }
.pt-3 { padding-top: 1rem; }
.pt-4 { padding-top: 1.5rem; }
.pt-5 { padding-top: 3rem; }

.pb-1 { padding-bottom: 0.25rem; }
.pb-2 { padding-bottom: 0.5rem; }
.pb-3 { padding-bottom: 1rem; }
.pb-4 { padding-bottom: 1.5rem; }
.pb-5 { padding-bottom: 3rem; }

.ps-1 { padding-left: 0.25rem; }
.ps-2 { padding-left: 0.5rem; }
.ps-3 { padding-left: 1rem; }
.ps-4 { padding-left: 1.5rem; }
.ps-5 { padding-left: 3rem; }

.pe-1 { padding-right: 0.25rem; }
.pe-2 { padding-right: 0.5rem; }
.pe-3 { padding-right: 1rem; }
.pe-4 { padding-right: 1.5rem; }
.pe-5 { padding-right: 3rem; }

/* Text */
.text-center { text-align: center; }
.text-start { text-align: left; }
.text-end { text-align: right; }

/* 文字の配置 */
.text-start {
    text-align: left;
}
.text-center {
    text-align: center;
}
.text-right {
    text-align: right;
}

/* Swiper */
/* 1) スライド内の配置（中央寄せ） */
.pdf-swiper .swiper-slide{
    display:flex;
    justify-content:center;
}

/* 2) クリック領域（縦並び） */
.pdf-swiper .pdf-card{
    display:flex;
    flex-direction:column;
    align-items:center;
    width:100%;
    text-decoration:none;
}

/* 3) 細い縦長の“窓”を作る */
.pdf-swiper .pdf-thumb{
    width: 180px !important;
    height: 250px !important;
    overflow:hidden;
    border-radius:6px;

    background-repeat:no-repeat;
    background-position:center center;

    /* 高さを100%に合わせて左右を切る */
    background-size: auto 100%;

    /* 縦長画像も混在していて “全面を埋めたい” なら cover に戻す */
    /* background-size: cover; */
}

/* タイトルは下に（幅を揃える） */
.pdf-swiper .cat_title{
    width: 120px;          /* pdf-thumb と揃える */
    margin-top:8px;
    font-size:14px;
    line-height:1.4;
    text-align:center;
}

.pdf-swiper .pdf-modal-img{
  width: 180px !important;
  height: 250px !important;;
  border-radius: 6px;
  overflow: hidden;
}

.pdf-swiper .cat_title{
  margin-top: 8px;
  font-size: 14px;
  line-height: 1.4;
}

/* お問い合わせ */
.cus_btn_row{
    display:flex;
    justify-content:center;
    gap:12px;
    align-items:center;
    flex-wrap:wrap;
}
.cus_btn_row .cus_btn{
    display:inline-flex;
    justify-content:center;
    align-items:center;
    text-decoration:none;
    white-space:nowrap;
    min-width: 240px;
    font-size: 1.3rem;
}
@media (max-width: 767px){
    .cus_btn_row .cus_btn{ width:100%; min-width:0; }
}



