#up-kv {
    background-color: #f2f4f9;
    padding: 120px 0 80px;
}
.breadcrumb {
    display: flex;
    gap: 20px;
    font-size: 1.2rem;
    font-weight: 400;
}
.breadcrumb .bc-link {
    color: #102d7e;
}
.up-title-wrap {
    margin-top: 60px;
}
.up-title-wrap .up-title-jp {
    font-size: 3.2rem;
    font-weight: 700;
}
.up-title-wrap .up-title-en {
    font-size: 1.5rem;
    font-weight: 500;
}

@media screen and (max-width:640px) {
    #up-kv {
        background-color: #f2f4f9;
        padding: 80px 0 40px;
    }
    .up-title-wrap {
        margin-top: 30px;
    }
    .up-title-wrap .up-title-jp {
        font-size: 2.4rem;
    }
    .up-title-wrap .up-title-en {
        font-size: 1.3rem;
    }
}

.single-bc {
    padding-top: 120px;
    max-width: 1200px;
    margin: 0 auto;
}
.blog-layout {
    max-width: 1200px;
    margin: 0 auto;
    padding: 100px 0;
    display: flex;
    gap: 120px;
}
.blog-layout.single-layout {
    padding-top: 50px;
}
.blog-main {
    width: calc(100% - 420px);
}
#sidebar {
    width: 300px;
}
.sidebar-item {
    margin-bottom: 45px;
}
.sidebar-title {
    font-size: 1.8rem;
    font-weight: 700;
    padding: 2px 0 2px 12px;
    border-left: solid 4px #252525;
    line-height: 1;
    margin-bottom: 20px;
}
.category-list > li {
    padding: 12px 0;
    border-bottom: solid 1px #e9e9e9;
}
.category-list > li a {
    display: block;
    color: #102d7e;
    font-size: 1.5rem;
    font-weight: 500;
}
.tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 15px;
}
.tag-list > li a {
    color: #102d7e;
    font-size: 1.5rem;
    font-weight: 500;
}
.archive-list > li a {
    color: #102d7e;
    font-size: 1.5rem;
    font-weight: 500;
}

@media screen and (max-width:640px) {
    .single-bc {
        padding: 90px 5% 0;
    }
    .blog-layout.single-layout {
        padding-top: 30px;
    }
    .blog-layout {
        width: 100%;
        padding: 40px 5%;
        flex-direction: column;
        gap: 60px;
    }
    .blog-main {
        width: 100%;
    }
    #sidebar {
        width: 300px;
        margin: 0 auto;
    }
}

.blog-list {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
}
.blog-list .blog-item {
    width: 50%;
    color: #252525;
    margin-bottom: 40px;
}
.blog-list .blog-item:nth-child(2n-1) {
    padding-right: 30px;
    border-right: solid 1px #e9e9e9;
}
.blog-list .blog-item:nth-child(2n) {
    padding-left: 30px;
}
.blog-list .blog-item .blog-thumbnail {
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
    height: auto;
    aspect-ratio: 16 / 9;
}
.blog-item .blog-thumbnail img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all .2s;
}
.blog-item:hover .blog-thumbnail img {
    transform: scale(1.02);
}
.blog-item .meta-info {
    display: flex;
    gap: 10px;
    margin-top: 20px;
    font-size: 1.3rem;
}
.blog-item .blog-title {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 15px;
}
.blog-item .excerpt {
    font-size: 1.3rem;
}
.pagination {
    display: flex;
    justify-content: center;
    gap: 10px;
    margin: 40px auto 0;
}
.pagination .page-numbers {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: #fff;
    border: solid 1px #102d7e;
    border-radius: 50%;
    color: #102d7e;
}
.pagination .page-numbers.current,
.pagination .page-numbers:hover {
    background-color: #102d7e;
    color: #fff;
}
.pagination .prev,
.pagination .next {
    display: none;
}

@media screen and (max-width:640px) {
    .blog-list {
        flex-direction: column;
        gap: 30px;
    }
    .blog-list .blog-item {
        width: 100%;
    }
    .blog-list .blog-item:nth-child(2n-1) {
        padding-right: 0;
        border-right: none;
    }
    .blog-list .blog-item:nth-child(2n) {
        padding-left: 0;
    }
}

.post-title {
    font-size: 3.2rem;
    font-weight: 700;
}
.meta-info {
    display: flex;
    gap: 20px;
    margin-top: 10px;
}
.meta-info .date,
.meta-info .author {
    font-size: 1.2rem;
    font-weight: 400;
}
.post-content {
    margin-top: 40px;
}
.post-content .post-thumbnail {
    margin-bottom: 30px;
}
.post-inner p {
    font-size: 1.6rem;
    font-weight: 400;
    line-height: 2;
    margin: 1em 0;
}

@media screen and (max-width:640px) {
    .post-title {
        font-size: 2.4rem;
    }
    .meta-info {
        margin-top: 0;
    }
    .post-content {
        margin-top: 30px;
    }
}