section{
	margin-bottom:40px;
}
#top_recommend{
  padding: 0px;
	margin-bottom:40px;
	overflow: hidden;
}
#top_recommend .sttl {
    font-size: 128%;
    text-align: center;
    padding: 0 0 24px;
}
.cf:before, .cf:after {
    content: "";
    display: table;
}
.owl-nav button.owl-prev {
	left:0px!important;
}
.owl-nav button.owl-next {
	right: -30px!important;
}

.slider {
    padding: 15px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px; /* 要素間の間隔を5pxに設定 */
    margin: 0;
    align-items: stretch; /* ボックスの高さを揃える */
}

/* デスクトップ：3列均等配置（左右余白なし） */
.slider .box {
    /* 余裕を持たせて31.5%に設定（より安全） */
    flex: 0 0 31.5%;
    width: 31.5%;
    max-width: 31.5%;
    padding: 10px;
    margin: 0;
    border: 1px solid #ddd;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
}

.slider .box .thumb {
    margin: 0;
    padding: 0;
}

.slider .box .thumb a {
    display: block;
    width: 100%;
    height: 200px; /* 高さを統一 */
    overflow: hidden;
    position: relative;
}

.slider .box img {
    width: 100%;
    height: 100%;
    object-fit: cover; /* 高さを統一しつつ画像をトリミング */
    display: block;
}

.slider .box .info {
    padding: 10px 5px;
    flex-grow: 1; /* 余白を埋める */
}

.slider .box .ttl {
    height: auto; /* 固定高さを削除 */
    min-height: 35px;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
}

.slider button {
    text-shadow: none;
    border: none;
}

.wrap-post-title {
    font-size: 1.6em;
}

/* タブレット表示（768px以下）：3列維持 */
@media screen and (max-width: 768px) {
    /* 3列表示を維持（余裕を持たせて31.5%） */
    .slider .box {
        flex: 0 0 31.5%;
        width: 31.5%;
        max-width: 31.5%;
    }
}

/* スマホ表示（480px以下）：1列中央配置 */
@media screen and (max-width: 480px) {
    .slider {
        display: flex; /* flexを維持してgapを活用 */
        flex-direction: column;
        align-items: center;
        padding: 15px 20px;
        gap: 20px; /* スマホでは縦の間隔を広げる */
    }
    
    .slider .box {
        flex: none;
        width: 100%;
        max-width: 400px;
        margin: 0;
        padding: 10px;
    }
    
    /* スマホでは画像の高さを調整 */
    .slider .box .thumb a {
        height: 250px; /* スマホでは少し高めに */
    }
    
    .slider .box img {
        height: 100%;
        object-fit: cover; /* トリミングを維持 */
    }
    
    .wrap-post-title {
        font-size: 1.3em;
    }
}

/* Owl Carousel使用時の調整 */
.owl-carousel .owl-stage-outer {
    padding: 0;
    margin: 0;
}

.owl-carousel .owl-item {
    padding: 0;
}

.owl-carousel .owl-item .box {
    width: 100%;
    max-width: 100%;
    flex: none;
}

.wrap-post-title{
	font-size:1.6em;
}
@media screen and (max-width: 768px){
	.slider .box {
		width:340px;
	}
	.slider .box .thumb a {
		height:219px;
	}
	.slider .box img {
		height:219px;
	}
	.wrap-post-title{
		font-size:1.3em;
	}
}
#pickup .mdTagList2 {
    border-bottom: 1px #ccc solid;
    margin: 24px 0 0;
    padding-bottom: 30px;
    text-align: center;
    padding: 0 40px;
}
#pickup .mdTagList2 li {
    display: inline;
    border-right: 1px #333 solid;
    font-size: 107%;
    line-height: 2;
    padding: 0 10px 0 5px;
}
#pickup .mdTagList2 li a {
    color: #ec58b8;
}
#drama_category .dbcategory-list {
	display:flex;
	flex-wrap: wrap;
}

#drama_category .dbcategory-item {
  margin-right: 5px;
}
.mdRankList1 > li {
    float: left;
    margin: 0 11px 0 0;
    width: 156px;
    height:200px;
}
.mdRankList1 li .inner {
    position: relative;
}
.mdRankList1 li a {
    display: block;
}
.mdRankList1 li .num {
    position: absolute;
    top: 0;
    left: 0;
    background: #1da0ab;
    color: #fff;
    font-weight: bold;
    padding: 9px 0 0;
    text-align: center;
    width: 40px;
    height: 31px;
}
.main * {
    box-sizing: content-box;
    line-height: 1.4;
}
.mdRankList1 li .thumb {
    width: 100%;
    height: 117px;
    overflow: hidden;
}
.mdRankList1 li .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}
.mdRankList1 li .ttl {
    height: 2em;
    margin: 0 0 8px;
    padding: 6px 0 8px;
}
.mdRankList1 li .mdTagList1 li {
    width: auto;
}
.mdTagList1 li a {
    display: block;
    color: #fff;
    padding: 6px 12px;
}
section h2{
  border-bottom: 2px solid #e51c6c;
  background: transparent;
  border-radius: 0;
  padding:0px;
  text-align: center;
}
.grid_post-box .post-author,
.grid_post-box time,
.post-box .post-date{
    display: none;
}
.grid_post-box .post-meta-all{
	padding-bottom:0px;
}
section.post-meta-all{
	margin-bottom:0px;
}
.post #search input{
    border:1px solid #ddd;
    border-radius: 2px;
}
#search .field{
	width:calc(100% - 75px);
	margin-right:10px;
    background-color: #f7f7f7;
}
#archive-db-post ul{
    margin: 0;
    padding: 0;
    list-style: none;
    list-style-image: none;
}
.post ul:not(.toc_list):not(.st_toc_list):not(.children):not(.slick-dots):not( .st-pvm-nav-list ) {

}
.owl-nav button {
  height: 40px;
  width: 40px;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  position: absolute;
  top: 80px !important;
  background-color: white !important;
}
.owl-carousel .owl-nav button.owl-prev::before,
.owl-carousel .owl-nav button.owl-next::before {
  color: black; /* アイコンの色を黒に設定 */
  font-size: 18px; /* アイコンのサイズを設定 */
  font-weight: bold;
}
.owl-carousel .owl-nav button.owl-next{
	margin-right: 60px;
}
#search .btn{
    background-color:#e51c6c;
    color: white;
}
#archive-db-post .slider{
    visibility: visible;
}