@charset "UTF-8";

/*------------------------------------
  Masonry
------------------------------------*/

.work_list {
    max-width: 1200px;
    margin: 0px auto 100px;
}

.work_grid {
    display: flex;
    flex-wrap: wrap;
}

.work_grid .work_card {
    width: 33.333%;
}

.work_grid .work_card {
    width: 33.333%;
}

.work_grid .work_card img {
    width: 100%;
}

.pager {
    margin-top: 20px;
}

.grid {
    width: 1200px;
    max-width: 90%;
    margin: 80px auto;
}

/* アイテム */
.grid-item {
    width: calc(33.333% - 20px);
    margin-bottom: 30px;
    overflow: hidden;
    box-shadow: rgba(0, 0, 0, 0.33) 0px 1px 3px 0px;

}

/* リンク */
.grid-item a {
    display: block;
    text-decoration: none;
    color: inherit;
}

/* 画像 */
.grid-item img {
    display: block;
    width: 100%;
    height: auto;
    transition: transform .4s ease;
}

/* Hover */
.grid-item:hover img {
    transform: scale(1.05);
}

/* タイトル */
.grid-item h3 {
    margin: 20px 0 10px;
    font-size: 22px;
    font-weight: 700;
    line-height: 1.4;
}

/* 本文 */
.work_text {
    margin-top: 12px;
    line-height: 1.9;
    padding: 0 15px 15px;
}

.work_text p:last-child {
    margin-bottom: 0;
}

/*------------------------------------
  Tablet
------------------------------------*/

@media (max-width: 1024px) {

    .grid {
        max-width: 95%;
    }

    .grid-item {
        width: calc(50% - 15px);
    }

}

/*------------------------------------
  SP
------------------------------------*/

@media (max-width: 767px) {

    .work_grid .work_card {
        width: 100%;
    }


    .grid {
        margin: 40px auto;
        max-width: 92%;
    }

    .grid-item {
        width: 100%;
    }

    .grid-item h3 {
        font-size: 20px;
    }

}

/*------*/
.fancybox__caption,
.fancybox__caption h3,
.fancybox__caption div {
    color: #fff !important;
}


.gnav_wrapp nav a.other-site {
    display: none;
}

.headerinr .gnav_wrapp,
.headerinr .sns_wrapp {
    margin-right: 0;
}


.work_img {
    position: relative;
    height: 100%;
}

.work_img a {
    display: block;
    height: 100%;
}

.work_img a img {
    height: 100%;
    object-fit: cover;
}

.txt_box {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 10%;
    width: 100%;
}

@media (max-width: 767px) {
    .txt_box {
        position: absolute;
        left: 0%;
        transform: translateX(0%);

    }

}

.txt_box p {
    text-align: center;
    color: #fff;
}

.txt_box .ttl {
    font-size: 2.4rem;
}

.work_card a:hover .txt {
    color: rgb(114, 114, 114);
}

.single_ttl {
    text-align: center;
    padding-top: 50px;
}