/* KV全体の背景（赤） */
.about-kv {
    background-color: #b03a2e; 
    padding: 60px 0;
    background-size: auto 70%;
}

.about-kv-container {
    display: flex;
    align-items: center;
    gap: 30px;
    max-width: 3000px;
    margin: 0 auto;
    padding: 0 40px 0 12%;
    align-items: stretch;
}

/* 左側のスライダー設定 */
.kv-slider-block {
    flex: 2.2; /* 右側より広く設定 */
    min-width: 0;
}

/* .about-kv-swiper {
    overflow: hidden;
} */

.about-kv-swiper .swiper-slide {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /* 画像が歪まないように切り抜く */
    display: block;
}

.about-kv-swiper .swiper-slide img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 画像を枠いっぱいに切り抜き */
}

/* 右側のロゴカード設定 */
.kv-logo-block {
    flex: 1;
    display: flex;
}

.logo-card {
    background-color: #fff;
    border-radius: 30px;
    height: 100%;
    /* 親(stretch)に合わせて高さを出す */
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

.logo-card img {
    width: 100%;
    height: auto;
    max-height: 100%;
    object-fit: contain; /* ロゴの形を崩さず枠内に収める */
}

/* パジネーション（白い丸）のデザイン */
.about-kv .swiper-pagination {
    position: relative !important;
    text-align: right !important;
    bottom: 0 !important;
    margin-top: 20px;
    padding-right: 20px;
}

.about-kv .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    background: transparent !important;
    border: 1px solid #fff !important; /* 白い枠線 */
    opacity: 1 !important;
    margin: 0 6px !important;
}

.about-kv .swiper-pagination-bullet-active {
    background: #fff !important; /* 現在の画像は白塗りに */
}

/* レスポンシブ：スマホでは縦に並べる */
@media (max-width: 768px) {
    .about-kv-container {
        flex-direction: column;
    }
    .kv-logo-block {
        width: 70%;
        order: -1; /* ロゴを上にする場合 */
        margin-bottom: 20px;
    }
}

/*カテゴリボタン追加しました*/
.category-filter {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 12px;
    margin: 30px 0 40px;
}

.category-filter a {
    display: inline-block;
    padding: 10px 24px;
    border: 1px solid #a90000;
    color: #a90000;
    border-radius: 999px;
    text-decoration: none;
    font-size: 15px;
}

.category-filter a.active,
.category-filter a:hover {
    background: #a90000;
    color: #fff;
}

/*井上追加　ここを変えるとindexのcssも変える*/
/*======= contentCommon　フレックスボックス =======*/
.flexContainer {
	display: -webkit-flex;
	display: flex;

	-webkit-flex-direction: row;
	flex-direction:         row;

	-webkit-flex-wrap: wrap;
	flex-wrap:         wrap;

	-webkit-justify-content: flex-start;
	justify-content:         flex-start;/*space-around*/
}

/*フレックスボックス　2個3個4個の場合*/
.flexContainer .itemCol2,
.flexContainer .itemCol3,
.flexContainer .itemCol4 {
	position: relative;
	display: inline-block;
	width: 100%;
	height: auto;
	margin-bottom: 1rem;
	text-align: center;
}

.flexContainer .itemCol4 {
	width: 50%;
    padding: .5rem;
}

.flexContainer .itemCol4 .shado {
    box-shadow: 0 5px 15px rgba(0,0,0,0.08);
}

.flexContainer .itemCol2:last-child,
.flexContainer .itemCol3:last-child,
.flexContainer .itemCol4:last-child {
	margin-bottom: 0;
}

@media screen and (min-width: 768px) {
	.flexContainer {
		/*-webkit-justify-content: space-between;
		justify-content:         space-between;*/
	}

	.flexContainer .itemCol2 {
		width: 50%;
		margin-bottom: 0;

	}

	.flexContainer .itemCol3 {
		width: 33.33333%;
		width: -webkit-calc(99.99999% / 3);
		width: calc(99.99999% / 3);
		margin-bottom: 0;
	}

	.flexContainer .itemCol4 {
		width: 25%;
		margin-bottom: 0;
        padding: 1rem;
    }
}


