header {
    background: url(../img/case/header.jpg) no-repeat center / cover;
}
.tags_pc {
    display: flex;
}
.tags_sp {
    display: none;
}
.tags-btn-wrapper {
    display: flex;
    flex-direction: column;
    margin-bottom: 60px;
    position: relative;
}
.tags-btn_top {
    display: flex;
    width: 100%;
    padding: 20px;
    height: 90px;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 26px;
}
.tags-btn_top::after {
    content: "";
    width: 200vw;
    height: 1px;
    bottom: 0;
    left: -100vw;
    background-color: #c8c8c8;
    position: absolute;
    z-index: 3;
}
.tags-btn_btm {
    display: flex;
    position: relative;
}
.tags-btn_btm::after {
    content: "";
    width: 200vw;
    height: 1px;
    bottom: 0;
    left: -100vw;
    background-color: #c8c8c8;
    position: absolute;
    z-index: 3;
}
.tags-btn {
    width: 20%;
    height: 80px;
    font-size: 20px;
    border-right: 1px solid #c8c8c8;
    align-items: center;
}
.tags-btn a, .tags-btn p {
    display: inline-flex;
    width: 100%;
    height: 100%;
    padding: 20px;
    align-items: center;
}
.tags-btn:last-of-type {
    border-right: none;
}
.tags-btn.now {
    background-color: #333;
    color: #fff;
}
.tags-btn .num {
    color: #4ca535;
    letter-spacing: 0;
    margin: auto 20px auto 0;
}
.tags-btn a, .tags-btn p {
    line-height: 1.2;
}


.case-block {
    display: flex;
    flex-direction: column;
    position: relative;
}
.case-inner {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    overflow: hidden;
}
.case-inner::before {
    content: "";
    width: 200vw;
    height: 1px;
    top: 0;
    left: -100vw;
    background-color: #c8c8c8;
    position: absolute;
    z-index: 3;
}
.case-inner::after {
    content: "";
    display: flex;
    width: 32%;
    height: 0;
}
.case-item-wrapper {
    display: flex;
    width: 32%;
    padding-top: 40px;
    border-bottom: 1px solid #c8c8c8;
}
.case-item-wrapper:first-of-type, .case-item-wrapper:nth-of-type(2), .case-item-wrapper:nth-of-type(3) {
    padding-top: 0;
}
.case-item {
    display: flex;
    flex-direction: column;
    position: relative;
    flex-grow: 1;
}
.case-item::before {
    content: "";
    width: 200vw;
    height: 1px;
    top: 0;
    left: 0;
    background-color: #c8c8c8;
    position: absolute;
}
.case-item:first-of-type::before, .case-item:nth-of-type(2)::before, .case-item:nth-of-type(3)::before {
    display: none;
}
.case-item .img {
    overflow: hidden;
    width: 100%;
    aspect-ratio: 3 / 2;
}
.case-img {
    width: 100%;
    height: auto;
    object-fit: cover;
    transition: .4s ease;
}
.case-ttl {
    padding: 8px 15px;
    display: flex;
    align-items: center;
    transition: .4s ease;
}
.case-ttl img {
    width: 20px;
    margin: auto 10px auto auto;
    transition: .4s ease;
}
.case-ttl::before {
    content: "";
    width: 1px;
    height: calc(100% + 40px);
    bottom: 0;
    left: 0;
    background-color: #c8c8c8;
    position: absolute;
}
.case-ttl::after {
    content: "";
    width: 1px;
    height: calc(100% + 40px);
    bottom: 0;
    right: 0;
    background-color: #c8c8c8;
    position: absolute;
}
.case-tags {
    display: flex;
    height: 100px;
    width: 100px;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 3;
}
.case-tags img {
    display: flex;
}
.case-btn-block {
    padding-top: 40px;
    position: relative;
}
.case-btn-block::before {
    content: "";
    width: 200vw;
    height: 1px;
    top: -1px;
    left: -100vw;
    background-color: #c8c8c8;
    position: absolute;
}
.next-btn {
    display: flex;
    height: 80px;
    padding: 0 20px;
    justify-content: center;
    align-items: center;
    background-color: #4ca535;
}
.next-btn {
    cursor: pointer;
}
.next-btn p {
    color: #fff;
}
.next-btn .arrow {
    display: flex;
    margin-right: 10px;
}
.next-btn .arrow img {
    display: flex;
    width: 21px;
    transform: rotate(90deg);
    transition: .4s ease;
}
.hidden {
    display: none;
}
@media screen and (max-width: 900px) {
    .tags_pc {
        display: none;
    }
    .tags_sp {
        display: flex;
    }
    .ac_tags-btn {
        display: flex;
        align-items: center;
        font-size: 18px;
        width: 100%;
        height: 60px;
        padding: 20px;
        position: relative;
    }
    .ac_tags-btn .num {
        color: #4ca535;
        letter-spacing: 0;
        margin-right: 20px;
    }
    .ac_tags-btn::before {
        content: "";
        width: 200vw;
        height: 1px;
        bottom: -1px;
        left: -100vw;
        background-color: #c8c8c8;
        position: absolute;
    }
    .tags-arrow {
        display: flex;
        width: 50px;
        height: 100%;
        background-color: #4ca535;
        justify-content: center;
        align-items: center;
        margin: 0 0 0 auto;
        position: absolute;
        right: 0;
        bottom: 0;
        font-size: 14px;
    }
    .tags-arrow::after {
        content: "▼";
        color: #fff;
        margin: auto;
        transition: .4s ease;
    }
    .ac_tags-inner {
        display: flex;
        height: 0;
        flex-direction: column;
        position: relative;
        overflow: hidden;
        transition: .4s ease;
        opacity: 0;
    }
    .ac-item.active .ac_tags-inner {
        height: auto;
        opacity: 1;
    }
    .ac-item.active .tags-arrow::after {
        transform: rotateX(180deg);
    }
    .tags_sp::after {
        content: "";
        width: 200vw;
        height: 1px;
        bottom: -1px;
        left: -100vw;
        background-color: #c8c8c8;
        position: absolute;
    }
    .tags-btn {
        height: 60px;
        font-size: 18px;
        width: 100%;
        border-bottom: 1px solid #c8c8c8;
    }
    .tags-btn:last-of-type {
        border-bottom: none;
    }
    .tags-btn_top {
        height: 60px;
        font-size: 20px;
        padding: 5px 20px;
    }
    .case-inner {
        flex-direction: column;
        align-items: center;
    }
    .case-item-wrapper:nth-of-type(2), .case-item-wrapper:nth-of-type(3) {
        padding-top: 40px;
    }
    .case-item-wrapper {
        width: 100%;
        max-width: 500px;
        padding-top: 40px;
    }
}
@media (hover: hover) and (pointer: fine) {
    .tags-btn:hover {
        background-color: #f5f5f5;
    }
    .tags-btn.now:hover {
        background-color: #333;
    }
    .case-item:hover .img img {
        transform: scale(120%);
    }
    .case-item:hover {
        background-color: #f5f5f5;
    }
    .case-item:hover .case-ttl img {
        transform: translateX(10px);
    }
    .next-btn:hover {
        background-color: #61b54c;
    }
}