
/* 書籍情報（共通リスト流用） */
        .common-dl-tableType dl {
            padding: .2em;
            margin: 10px 0;
        }

        .common-dl-tableType dl dd {
            background-color: transparent;
        }

        .common-dl-tableType dl dt,
        .common-dl-tableType dl dd {
            padding: 0;
            font-size: 12px;
        }
         .common-dl-tableType dl dt {
         flex-basis: 20%;
        }

        /*  書籍情報リスト */

        .book-card-list {
            width: min(100%, 950px);
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
            column-gap: 2em;
            row-gap: 1em;
            padding: 0 10px;
        }

        .book-card-list .book-card {
            position: relative;
            margin-bottom: 20px;
        }

        /* 書籍情報共通設定 */
        .book-card-list .book-card .content h3 {
            margin: 10px 0 10px 0;
            padding: 0;
            color: #333;
            text-align: center;
            font-size: 1.2em;
            border: none;
            min-height: 50px;
        }


        /* 書籍情報（上部） */
        .book-card-list .book-card .book-info {
            position: relative;
            background: #eceff1;
            border: 1px solid #d1d3d4;
            justify-content: center;
            align-items: center;
            z-index: 1;
            padding: .7em .5em .3em;
            border-radius: 5px 5px 0 0;
            height: 330px;
        }

        .book-card-list .book-card:hover .book-info {
            background: #eceff1;
        }


        .book-card-list .book-card .book-info img {
            height: 170px;
            margin-top: 10px;
            border: 1px solid #c1c1c1;
            box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.4);
        }

        /* 発行形式タグ */
        .book-card-list .book-card .book-info ul.format-tag {
            padding: 0 0 0 .5em;
            margin: 0 ;
            display: flex;
            justify-content: center;
            align-items: center;
            flex-wrap: wrap;
            gap: 5px;
            margin-top: 10px;
            list-style: none;

        }

        .book-card-list .book-card .book-info ul.format-tag li {
            background: #f3721b;
            color: #fffdfd;
            font-size: 12px;
            padding: 2px 7px;
            position: relative;
            margin: 0;
                        border-radius: 15px;

        }


        /* 書籍情報詳細（下部） */
        .book-card-list .book-card .book-detail {
            height: 380px;
            position: relative;
            background: #fff;
            justify-content: center;
            align-items: center;
            padding: 10px;
            box-sizing: border-box;
            box-shadow: 0 20px 20px rgba(156, 154, 148, 0.8);
            border: 1px solid #009688;
            border-radius: 0 0 5px 5px;
            animation: slideDown 0.3s ease-out;
                    }

        .book-card-list .book-card .book-detail p {
            margin: 0;
            padding: 0;
        }

        .book-card-list .book-card .book-detail a.link-btn {
            margin: 15px auto;
            display: inline-block;
            text-decoration: none;
            font-weight: 500;
            background: #009688;
            color: #fff;
            padding: 5px;
            border: 1px solid #009688;
            margin: 5px 5px 10px 0;

        }

        .book-card-list .book-card .book-detail a.link-btn:hover {
            background: #fff;
            color: #009688;
        }


        details {
            margin-bottom: 1rem;
            border-radius: 0 0 5px 5px;
            overflow: hidden;
            
        }

        summary {
            padding: 1rem;
            background-color: #009688;
            cursor: pointer;
            font-weight: 600;
            user-select: none;
            border: 1px solid #009688;
            border-radius: 0 0 5px 5px;
            color: white;
        }

        summary:hover {
            background-color: rgb(97, 175, 162);
        }


        details[open] summary {
            border-radius: 0;
                    }

        summary {
            list-style: none;
            /* Safari用 */
        }

        summary::-webkit-details-marker {
            display: none;
            /* Chrome, Edge用 */
        }

        /* カスタムアイコンの追加 */
        summary::after {
            content: '+';
            float: right;
            font-size: 1.2em;
            line-height: 1;
            transition: transform 0.2s ease;

        }

        details[open] summary::after {
            transform: rotate(45deg);
        }

             details[open] .book-detail {
            animation: slideUp 0.3s ease-out;
        }

        .shop-btn {
            display: flex;
            justify-content: end;
            gap: 5px;
            align-items: end;
        }

        .shop-btn img {
            max-width: 120px;
        }

        .shop-btn a:hover img {
            opacity: .7;
        }

        .flex-item1 p {
            text-align: right;
        }


        @keyframes slideUp {
            from {
                opacity: 1;
                transform: translateY(0);
            }

            to {
                opacity: 0;
                transform: translateY(-10px);
            }
        }

        @keyframes slideDown {
            from {
                opacity: 0;
                transform: translateY(-10px);
            }

            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        @media screen and (max-width:640px) {
            .book-card-list {
                display: block;
            }

            .book-card-list .book-card {
                width: 100%;
                margin-bottom: 30px;
            }

            .book-card-list .book-card .content {
                border-radius: 0;
                min-height: 250px;
                height: auto;
            }

.book-card-flex {
        display: flex;
        gap: 10px;
        justify-content: end;
        align-items: end;
    }

            .flex-item1 {
                flex: 1;
            }

            .flex-item2 {
                flex: 2;
            }

            .shop-btn img {
                max-width: 100px;
            }



            summary {
                border-radius: 0;
            }

            details {
                border-radius: 0;
            }


        }

        @media screen and (max-width:430px) {

            .book-card-list .book-card .book-detail {
                display: block;
            }


            .common-dl-tableType dl {

                display: flex;
                flex-flow: row wrap;
                width: 100%;
            }
                        .common-dl-tableType dl dt {

    flex-basis: 15%;
                        }
            .book-card-list .book-card .content h3 {
                font-size: 1.0em;
            }


        }
