

.card{
	border:none;
}
/* ==========================
   Table
========================== */

#resultTable{
    width:100%;
    border-collapse:collapse;
    background:#fff;
    border-top:3px solid #0963a1;
}

#resultTable th{
    padding:14px 18px;
    background:#f5f5f5;
    font-weight:600;
    text-align:left;
    border-bottom:2px solid #ddd;
	color:black;
}

#resultTable td{
    padding:14px 18px;
    border-bottom:1px solid #eee;
    vertical-align:top;
}

body:not(.en) #resultTable td,
body:not(.en) #resultTable th{
    white-space: normal;
    word-break: break-word;
}

#resultTable td:first-child {width:30%;}
#resultTable td:nth-child(2),#resultTable td:nth-child(3) {width:7%;}
#resultTable td:nth-child(4) {width:20%;}
#resultTable td:nth-child(5) {width:15%;}
#resultTable td:nth-child(6)  {width:12%;}
#resultTable td:nth-child(7) {width:10%;}

#resultTable tbody tr{
    transition:.2s;
}

#resultTable tbody tr:hover{
    background:#faf7f3;
}

#resultTable td:first-child a{
    color:#0963a1;
    text-decoration:none;
    font-weight:600;
}

#resultTable td:first-child a:hover{
    text-decoration:underline;
}

#resultTable tbody tr:nth-child(even){

    background:#fcfcfc;

}

table thead{
	background:#143c72;
	color:white;
}

.dataTables_wrapper{
	background:white;
	padding:20px;
	border-radius:10px;
	box-shadow:0 5px 20px rgba(0,0,0,.08);
}

.modal-header{
	background:#143c72;
	color:white;
}

.modal-body{

}

.modal-body .row{
	border-bottom:1px solid #eee;
	padding-bottom:8px;
}
.row {
  --bs-gutter-x: 1.5rem;
  --bs-gutter-y: 0;
  display: flex;
  flex-wrap: wrap;
  margin-top: calc(-1 * var(--bs-gutter-y));
  margin-right: calc(-.5 * var(--bs-gutter-x));
  margin-left: calc(-.5 * var(--bs-gutter-x));
}
.justify-content-between {
  justify-content: space-between !important;
  margin-bottom:20px;
}
/* ==========================
   スマホ表示
========================== */
@media screen and (max-width:768px){
    #resultTable thead{
        display:none;
    }
    #resultTable {
        border-top:0;
    }

    #resultTable,
    #resultTable tbody,
    #resultTable tr,
    #resultTable td{
        display:block;
        width:100%!important;
    }

    #resultTable tr{
        margin-bottom:20px;
        border:1px solid #ddd;
        border-radius:10px;
        background:#fff;
        box-shadow:0 2px 6px rgba(0,0,0,.08);
        overflow:hidden;
    }

    #resultTable td{
        display:flex;
       /*justify-content:space-between;*/
        align-items:flex-start;
        padding:10px 15px;
        border:none;
        border-bottom:1px solid #eee;
        text-align:left;
    }

    #resultTable td:last-child{
        border-bottom:none;

    }

    #resultTable td::before{
        font-weight:bold;
        color:#666;
        flex:0 0 90px;
    }

    /* 列名 */

    #resultTable td:nth-child(1)::before{
        content:"タイトル";
    }

    #resultTable td:nth-child(2)::before{
        content:"カテゴリ";
    }

    #resultTable td:nth-child(3)::before{
        content:"年度";
    }

    #resultTable td:nth-child(4)::before{
        content:"著者";
    }

    #resultTable td:nth-child(5)::before{
        content:"掲載先";
    }

    #resultTable td:nth-child(6)::before{
        content:"日付";
    }

    #resultTable td:nth-child(7)::before{
        content:"テーマ";
    }

    #resultTable td a{
        font-weight:bold;
        color:#b30000;
        text-decoration:none;
    }

}

.dataTables_filter{
    margin-bottom:25px;
}

.dataTables_filter input{
    width:260px;
    padding:10px 14px;
    border:1px solid #ccc;
    border-radius:6px;
    font-size:14px;
}

.dataTables_length{
    margin-bottom:20px;
}

.dataTables_length select{
    padding:6px 10px;
}

.dataTables_paginate{
    margin-top:30px;
    text-align:center;
}

.dataTables_paginate .paginate_button{
    display:inline-block;
    margin:0 3px;
    padding:8px 14px;
    border:1px solid #ddd;
    border-radius:5px;
    cursor:pointer;
    color:#333 !important;
    background:#fff;
}

.dataTables_paginate .paginate_button.current{
    background:#8c1515 !important;
    color:#fff !important;
    border-color:#8c1515;
}

.dataTables_paginate .paginate_button:hover{
    background:#f3f3f3;
}

table.dataTable thead th{
    position:relative;
    cursor:pointer;
}

table.dataTable thead th.sorting:after{
    content:"⇅";
    font-size:12px;
    color:#999;
    margin-left:8px;
}


/*==========================
 モーダル
==========================*/
.modal{
    display:none;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:9999;
    padding:40px 20px;
    overflow:auto;
}

.modal.show{
    display:block;
}

.modal-content{
    max-width:900px;
    margin:auto;
    background:#fff;
    border-radius:10px;
    box-shadow:0 20px 60px rgba(0,0,0,.25);
    animation:modalOpen .25s;
}

@keyframes modalOpen{
    from{
        opacity:0;
        transform:translateY(20px);
    }
    to{
        opacity:1;
        transform:translateY(0);
    }
}

.modal-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 25px;
    border-bottom:2px solid #eee;
}

.modal-header h2{
    margin:0;
    font-size:24px;
    color:#8c1515;
}

.modal-close{
    border:none;
    background:none;
    font-size:34px;
    cursor:pointer;
    color:#999;
}

.modal-close:hover{
    color:#8c1515;
}

.modal-body{
    padding:25px;
}

.detail-table{
    width:100%;
    border-collapse:collapse;
}

.detail-table th{
    width:180px;
    background:#f5f5f5;
    padding:12px;
    text-align:left;
    border-bottom:1px solid #ddd;
    font-weight:600;
}

.detail-table td{
    padding:12px;
    border-bottom:1px solid #eee;
}

.detail-table tr:last-child th,
.detail-table tr:last-child td{
    border-bottom:none;
}
/*=====================================
  DataTables Top
=====================================*/
.dt-layout-row:first-child{
    display:flex !important;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}

.dt-layout-row:first-child .dt-layout-start{
    display:flex;
    align-items:center;
}

.dt-layout-row:first-child .dt-layout-end{
    display:flex;
    align-items:center;
    margin-left:auto;
}

.dt-search{
    margin-left:auto;
}

/* 件表示 */
.dt-length{
    display:flex;
    align-items:center;
    gap:10px;
}

.dt-length label{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
}

.dt-length select{
    width:70px;
    height:40px;
    padding:0 10px;
    border:1px solid #ccc;
    border-radius:6px;
    background:#fff;
}


/* 検索 */
.dt-search{
    display:flex;
    align-items:center;
    gap:10px;
}

.dt-search label{
    display:flex;
    align-items:center;
    gap:10px;
    margin:0;
}

.dt-search input{
    width:260px;
    height:40px;
    padding:0 12px;
    border:1px solid #ccc;
    border-radius:6px;
    transition:.2s;
}

.dt-search input:focus{
    border-color:#8c1515;
    outline:none;
    box-shadow:0 0 0 3px rgba(140,21,21,.15);
}

@media (max-width:768px){
    .dt-layout-row{
        flex-direction:column;
        align-items:stretch;
    }

    .dt-layout-cell{
        width:100%;
    }

    .dt-layout-end{
        margin-left:0;
    }

    .dt-search input{
        width:100%;
    }

}


#yearNav{
    display:flex;
    gap:10px;
    margin:30px 0;
    flex-wrap:wrap;
}

#yearNav a{
    padding:8px 16px;
    border:1px solid #ccc;
    border-radius:30px;
    text-decoration:none;
}

#yearNav a.current{
    background:#0963a1;
    color:#fff;
    border-color:#0963a1;
}


.highlight-box dl {
	background: white;
    border: 1px solid #0963a1;
    border-radius: 18px;
    padding: 22px;
    box-shadow: 0 10px 25px rgba(23, 32, 51, .04);
	margin:1em;
}

.highlight-box dt {
	font-weight:bold;
}

.mT2em {margin-top:2em;}

.oss dd {position:relative;}
.oss dd::before {
    content:"○";
    color:#0963a1;
    margin-right:5px;
}

.oss .highlight-box dt {
    font-size:1.9rem;
}
