@charset "utf-8";

#theme {
    background:url("../img/theme_catalog.gif") no-repeat right center;
    background-color: #897abf;
    color: #fff;
}
#theme .contents {}
#theme p {}


/*枠*/
.search {
    display: flex;
    flex-wrap: wrap;
}
.search .filter {
    width: 220px;
    margin-right: 40px;
}
.search .results {
    flex: 1;
}

/*-------------------------*/
/*検索項目*/
/*-------------------------*/
.filter {}

/*見出し*/
.filter .title {
    margin-bottom: 30px;
}

/*検索項目*/
.filter dl {
    margin: 0;
}
.filter dl~dl {
    margin-top: 30px;
}
.filter dt {
    background:url("../img/icon_filter.png") no-repeat left center;
    background-size: 18px;    
    font-weight: bold;
    margin-bottom: 20px;
    padding-left: 24px;
    border-bottom: 1px #000 solid;
}
.filter dd {
    margin: 0 0 0 10px;
}
.filter dd label~label {
    margin-top: 5px;
}


/*部品*/
.filter label {
    display: block;
    line-height: 100%;
    padding: 6px 10px;
    border-radius: 6px;
    cursor: pointer;
    transition: background-color 0.3s;
}
.filter input:checked {
  accent-color: #33aa55;
}
.filter input:checked {
  background-color: transparent;
}
.filter label:has(input:checked) {
  background-color: #d2f1d2;
}

/*チェックボックスのサイズ*/
.filter input[type=checkbox] {
    width: 15px;
    height: 15px;
    -moz-transform:	scale(1.5);
    -webkit-transform: scale(1.5);
    transform: scale(1.5);
    margin-right: 20px;    
}

/*非表示*/
#filter-source {
    display: none;
}



/*-------------------------*/
/*カタログ一覧*/
/*-------------------------*/
.catalogs {
    display: flex;
    flex-wrap: wrap;
}
.catalogs .item {
    width: calc((100% / 3) - 10px);
    margin: 0 5px 10px;
    display: flex;
    flex-wrap: wrap;
    background-color: #f9f9f9;
    padding: 10px;
    line-height: 100%;
}

.catalogs .graph {
    width: 100%;
    max-height: 320px;
    min-height: 320px;
    border: 1px #ddd solid;
    padding: 10px;
    background-color: #fff;
}
.catalogs .summary {
    flex: 1;
    margin-bottom: 10px;
}
.catalogs a {
    text-decoration: none;
    height: 100%;
}
.catalogs a:hover {
    text-decoration: underline;
    color: #000;
}
.catalogs img {
    display: block;
    /* object-fit: cover; */
    object-fit: contain;
    height: 100%;
    margin: 0 auto;
}

.catalogs dl {
    margin: 0;
}
.catalogs dt {
    margin-top: 20px;
    margin-bottom: 15px;
    font-weight: bold;
    line-height: 120%;
    /*16-20*/
    font-size: clamp(1rem, 0.95rem + 0.25vw, 1.25rem);
}
.catalogs dd {
    margin: 0;
    /*12-14*/
    font-size: clamp(0.75rem, 0.725rem + 0.13vw, 0.875rem);
    line-height: 140%;
}
.catalogs dd~dd {
    margin-top: 10px;
}
.catalogs .status p {
    margin: 0;
}
.catalogs .status p span {
    display: inline-block;
    margin-right: 5px;
    min-width: 70px;
    text-align:justify;
    text-align-last:justify;
}



/*表示*/
.item.hiding {
  opacity: 0;
  transform: scale(0.98);
  transition: opacity 0.4s ease, transform 0.4s ease;
}
.item.hidden {
  display: none;
}


/****************************/
/*レスポンシブ*/
/****************************/
@media screen and (max-width: 1279px) {
    .catalogs .item {
        width: calc((100% / 2) - 10px);
    }
    .catalogs .graph {
        max-height: 300px;
        min-height: 300px;
    }
    .catalogs img {
        object-fit: contain;
    }
}
@media screen and (max-width: 979px) {
    .search {
        flex-direction: column;
    }
    .search .filter {
        width: 100%;
        margin-right: 0;
        margin-bottom: 30px;
        border: 1px #ddd solid;
        padding: 20px 10px 40px;
    }

    .filter .title {
        margin-bottom: 20px;
    }
    .filter dd {
        display: flex;
        flex-wrap: wrap;
        margin: 0;
        line-height: 120%;
    }
    .filter dd label~label {
        margin-top: 0;
        margin-right: 10px;
    }
    .filter input[type=checkbox] {
        margin-right: 10px;    
    }
    .filter label {
        display: flex;
        align-items: center;
    }
}

@media screen and (max-width: 779px) {
    .catalogs .graph {
        max-height: 260px;
        min-height: 260px;
    }
}

@media screen and (max-width: 579px) {
    .catalogs {
        flex-direction: column;
    }
    .catalogs .item {
        width: 100%;
        max-width: 400px;
        margin: 0 auto 20px;
    }

    .catalogs dt {
        margin-top: 7px;
        margin-bottom: 7px;
    }
    .catalogs .graph {
        max-height: 300px;
        min-height: 300px;
        margin-bottom: 10px;
    }
    .filter dl~dl {
        margin-top: 10px;
    }
    .filter dd label {
        width: calc((100% / 2) - 20px);
        margin: 0 10px 5px;
    }
    .filter dd label~label {
        margin-right: auto;
    }
}
@media screen and (max-width: 379px) {
    .search .filter {
        margin-bottom: 30px;
        padding: 20px 20px 20px;
    }
    .filter dd {
        flex-direction: column;
    }
    .filter dd label {
        width: 100%;
        margin: 0 0 5px;
    }
    .catalogs dt {
        margin: 0 auto 10px;
    }
}
