@charset "UTF-8";

/*---------------------------------------*/
/*サムネイル一覧*/
/*---------------------------------------*/
/*外枠*/
#archive {
    margin: 0 auto;
    max-width: 1400px !important;
    padding: 0 2rem;
}

/*リード文*/
.read {
    padding: 20px 30px;
    margin-bottom: 50px;
    background-color: #eee;
    border-radius: 5px;
}
.read a {
    text-decoration: underline;
}
.read a:hover {
    text-decoration: none;
}
.read p {
    line-height: 160%;
    margin: 0;
}


/*一覧*/
.archives {
    margin: 0;
    padding: 0;
    list-style-type: none;

    display: flex;
    flex-wrap: wrap;
    width: calc(100% + 50px);
    margin-left: -50px;
    margin-bottom: 50px;
}
.archives li {
    width: calc((100% / 4) - 50px);
    margin-left: 50px;
    margin-bottom: 50px;
}

.archives figure {
    margin: 0;
    border-radius: 10px;
    background-color: #f5f5f5;

    height: 200px;
    overflow: hidden;

    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}
.archives figure img {
    width: 100%;
    max-height: 200px;
    display: block;

    /*object-fit: cover;*/
    object-fit: contain;
}

.archives .caption {
    padding: 20px;
    line-height: 160%;
}


/*画像拡大*/
.archives a {
    display: block;
    color: #000;
	overflow: hidden;
}
.archives a img {
	display: block;
	transition-duration: 0.3s;
}
.archives a:hover img {
	transform: scale(1.1);
	transition-duration: 0.5s;
	opacity: 0.8;
}


/*---------------------------------------*/
/*ダウンロードページ*/
/*---------------------------------------*/
.archive {
    display: flex;
    flex-wrap: wrap;
}
.archive figure {
    margin: 0 50px 0 0;

    width: 100%;
    max-width: 500px;
    min-height: 300px;
    max-height: 400px;
    overflow: hidden;
}
.archive figure img {
    width: 100%;
    max-height: 400px;
    display: block;

    /*object-fit: cover;*/
    object-fit: contain;
}

.archive .archive-txt {
    flex: 1;
}
.archive .archive-txt h2 {
    margin: 30px 0;
    border-bottom: 1px #ddd dotted;
    padding-bottom: 20px;
}

.archive .archive-txt dl {
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    line-height: 140%;
}
.archive .archive-txt dl~dl {
    margin-top: 10px;
}

.archive .archive-txt dt {
    width: 100%;
    max-width: 120px;
    margin-right: 10px;
    font-weight: bold;
}
.archive .archive-txt dt::after {
    content: "：";
}
.archive .archive-txt dd {
    margin: 0;
    flex: 1;
}
/* .archive .archive-txt dd::before {
    content: "：";
    padding-right: 10px;
} */



/*ダウンロードボタン*/
.download {
    width: 100%;
    margin-top: 40px;
    text-align: center;
}
.download a {
    display: inline-block;
    padding: 10px 20px;
    line-height: 100%;
    background: url("../images/common/icon_dw.png") no-repeat 20px center;
    background-size: 18px;
    padding-left: 50px;
    background-color: rgb(7, 153, 39);
    color: #fff;
    text-decoration: none;
    border-radius: 50px;
    font-weight: bold;
}
.download a:hover {
    background-color: gray;
}

/*---------------------------------------*/
/*一覧へ戻る*/
/*---------------------------------------*/
.pageback {
    margin-top: 50px;
    width: 100%;
    padding: 1rem 1rem;
}

.pagenext {
    margin-top: 50px;
    width: 100%;
    padding: 1rem 1rem;
    text-align: center;
}




/*---------------------------------------*/
/*レスポンシブ*/
/*---------------------------------------*/
@media screen and (max-width: 1280px) {

    /*詳細*/
    .archive figure {
        margin: 0 50px 0 0;
    
        width: 100%;
        max-width: 40%;
    }
}

@media screen and (max-width: 980px) {
    /*一覧*/
    .archives li {
        width: calc((100% / 3) - 50px);
        margin-left: 50px;
        margin-bottom: 50px;
    }
    .archives .caption {
        padding: 20px 5px;
    }

    /*詳細*/
    .archive {
        flex-direction: column;
        padding: 0 30px;
    }
    .archive figure {
        margin: 0 0 30px 0;   
        width: 100%;        
        max-width: 100%;
        min-height: auto;
        max-height: 400px;       
    }
    .archive figure img {
        margin: 0 auto;
    }
    
}

@media screen and (max-width: 780px) {

    /*一覧*/
    .archives {
        width: calc(100% + 30px);
        margin-left: -30px;
    }
    .archives li {
        width: calc((100% / 2) - 30px);
        margin-left: 30px;
        margin-bottom: 30px;
    }
    .archives .caption {
        padding: 20px 5px;
    }
}

@media screen and (max-width: 580px) {
    .archives {
        width: 100%;
        margin-left: 0;
    }
    .archives li {
        width: 100%;
        margin-left: 0;
    }
    .archives .caption {
        padding: 20px 5px;
    }
}

@media screen and (max-width: 380px) {}



