.mainImgBox {
    position: relative;
    max-width: 1000px;
    margin: auto;
    margin-bottom: 50px;
}

.mainImg {
    width: 100%;
}

.catchCopy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    text-align: center;
    background-color: #0066cc;
    color: #fff;
    opacity: .7;
    width: 100%;
    padding: 20px;
    font-size: 30px;
}

.mainImgBox img {
    width: 100%;
}

article a:hover {
    opacity: .7;
}

.aboutSite {
    max-width: 1000px;
    margin: 30px auto;
}

.siteCatch {
    font-size: 24px;
    padding: 10px 0;
    display: block;
    border-bottom: 2px solid #ccc;
    text-align: center;
    margin: auto;
}

.siteDesc {
    margin: 30px 50px;
    line-height: 36px;
}

.contentHeader {
    display: block;
    max-width: 1000px;
    width: 100%;
    margin: auto;
}

.contentHeader h2 {
    text-align: center;
    padding: 30px;
    border-radius: 10px;
    margin: 10px auto;
    background-color: #0066cc;
    color: #fff;
}

.contentHeader .desc {
    margin: 10px;
}

.newestContent article {
    max-width: 1000px;
    width: 100%;
    margin: auto;
}

.newestContent article a {
    display: block;
    padding-bottom: 45.55%;
    position: relative;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    color: #fff;
}

.newestContent .contentDescBox {
    position: absolute;
    bottom: 10px;
    right: 10px;
    width: 80%;
    background-color: #0066cc;
    opacity: .7;
    padding: 20px;
}

.newestContent .title {
    font-size: 18px;
    color: #fff;
    text-decoration-line: underline;
    margin-bottom: 10px;
}

.newestContent .desc {
    margin-left: 20px;
    font-size: 16px;
    color: #fff;
    /* width: 300px; */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.recentContents {
    max-width: 1000px;
    width: 100%;
    margin: auto;
    display: flex;
    flex-wrap: wrap;
    flex-direction: row;
    margin-top: 20px;
}

.recentContents article {
    width: 33%;
    margin-bottom: 10px;
    padding: 0 5px;
}

.recentContents article img {
    width: 100%;
    aspect-ratio: 1 / .7;
    object-fit: cover;
}

.recentContents article a {
    color: #fff;
}

.recentContents .title {
    padding: 10px;
}

.toListBox {
    /* border: #0066cc 1px solid;
    display: block; */
    max-width: 1000px;
    width: 100%;
    margin: auto;
    text-align: right;
    padding: 30px 0;
}

.toListBox a {
    border: 1px solid #0066cc;
    background-color: #0066cc;
    padding: 20px;
    color: white;
}

.toListBox a i {
    color: white;
}

.toListBox a i:nth-child(1) {
    margin-right: 10px;
}

.toListBox a i:nth-child(2) {
    margin-left: 10px;
}

.sel_target {
    display: flex;
    flex-direction: row;
}

.sel_target li {
    flex: 1;
    text-align: center;
    margin: 10px;
    padding: 10px;
    border: #0066cc 1px solid;
    list-style: none;
}

.sel_target li:hover {
    background-color: #0066cc;
}

.sel_target div a::after{
    content: "";
    position: absolute;
    top: 0;
    right: 10px;
    bottom: 0;
    margin: auto;
    width: 5px;
    height: 5px;
    border-top: 2px solid #0066cc;
    border-right: 2px solid #0066cc;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
}

@media screen and (max-width: 480px) {

    .catchCopy {
        padding: 10px;
        font-size: 20px;
    }

    .aboutSite {
        margin: 30px 10px;
    }

    .siteDesc {
        margin: 30px;
        line-height: 36px;
    }

    .contentHeader {
        padding: 0 5px;
    }
    
    .contentHeader h2 {
        text-align: center;
        padding: 20px;
        border-radius: 10px;
        margin: 10px auto;
        background-color: #0066cc;
        color: #fff;
    }
    
    .contentHeader .desc {
        margin: 10px;
    }

    .newestContent article {
        padding: 0 5px;
    }

    .newestContent article a {
        padding-bottom: 70%;
    }

    .recentContents {
        display: block;
    }
    
    .recentContents article {
        width: 100%;
        margin-bottom: 5px;
    }

    .recentContents article:nth-child(even) .title {
        left: auto;
        right: 10px;
    }

    .toListBox {
        padding-right: 5px;
    }

    .sel_target {
        display: block;
    }
    
    .sel_target li {
        text-align: center;
        margin: 10px;
        padding: 10px;
        border: #0066cc 1px solid;
        list-style: none;
    }
    
}
