@charset "UTF-8";

/* ------------------------------- 
竜爪園の取り組み一覧
------------------------------- */
/* カテゴリー一覧 */
.nav-btn_cate {
    max-width: 1176px;
    margin: 0 auto 80px;
}

.nav-btn_cate .flex {
    gap: 20px 12px;
}

.nav-btn_cate .flex li {
    width: calc(50% - 6px);
}

.nav-btn_cate .btn {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
    padding: 9px 20px;
    font-weight: 600;
    text-decoration: none;
    color: var(--c-green);
    background: #fff;
    border: solid 1px var(--c-green);
    border-radius: 5px;
}

.nav-btn_cate .btn.active,
.nav-btn_cate .btn:hover {
    color: #fff;
    background: var(--c-green);
}

@media (min-width: 768px) {
    .nav-btn_cate .flex li {
        width: calc(25% - 9px);
    }
}

/* 記事一覧 */
.wrap-activity {
    padding: 30px 0 60px;
    border-radius: 30px;
}

.subtitle {
    position: relative;
    display: inline-block;
    font-size: clamp(24px, 5vw, 40px);
    font-weight: 600;
    margin-bottom: 60px;
}

.subtitle::before,
.subtitle::after {
    content: "●";
    color: var(--c-green);
    font-size: clamp(14px, 3.8vw, 18px);
    vertical-align: 5px;
}

.subtitle::before {
    margin-right: 20px;
}

.subtitle::after {
    margin-left: 20px;
}

.activity-grid {
    gap: 30px;
    list-style: none;
    padding: 0;
    margin: 0;
}

.activity-grid .activity-item {
    border-radius: 10px;
    overflow: hidden;
    width: 100%;
    background: #fff;
    box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.1);
}

.activity-grid .activity-item .activity-link {
    text-decoration: none;
}

.activity-grid .activity-item .img {
    width: 100%;
    aspect-ratio: 1 / 0.702;
    overflow: hidden;
}

.activity-grid .activity-item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: all 0.3s ease;
}

.activity-grid .activity-item .activity-cate {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background: var(--c-green);
    padding: 2px 10px;
    border-radius: 0 0 10px 0;
}

.activity-grid .activity-item .info {
    padding: 20px 20px 30px;
}

.wrap-activity time {
    font-size: 14px;
    letter-spacing: .05em;
    font-weight: 500;
    color: #BBBBBB;
}

.activity-grid .activity-item .title {
    font-size: 14px;
    letter-spacing: .05em;
    font-weight: 600;
    text-decoration: underline;
    color: var(--c-green);
    margin: 10px 0 0;
}

.activity-grid .activity-item .activity-link:hover .img img {
    transform: scale(1.05);
}

@media (min-width: 768px) {
    .wrap-activity {
        padding: 60px 0 100px;
    }

    .activity-grid {
        gap: 50px 42px;
    }

    .activity-grid .activity-item {
        width: calc(33.333% - 28px);
    }
}

@media (min-width: 1024px) {
    .activity-grid {
        gap: 50px 42px;
    }

    .activity-grid .activity-item {
        width: calc(25% - 31.5px);
    }
}

/* ------------------------------- 
竜爪園の取り組み詳細
------------------------------- */
.wrap-activity.detail {
    padding-top: 0;
    margin-bottom: 80px;
    font-weight: 500;
}

.wrap-activity.detail .detail-inner {
    max-width: 620px;
    margin: 0 auto;
}

.wrap-activity.detail .activity-cate {
    display: inline-block;
    font-size: 12px;
    font-weight: 600;
    color: #fff;
    background: var(--c-green);
    padding: 7px 20px;
    border-radius: 0 0 10px 10px;
}

.wrap-activity.detail time {
    display: block;
    margin-top: 10px;
}

.wrap-activity.detail .activity-title {
    font-size: clamp(24px, 5vw, 28px);
    font-weight: 600;
    letter-spacing: .05em;
    border-bottom: dotted 2px #D9D9D9;
    padding-bottom: 20px;
    margin: 59px 0 45px;
}

.wrap-activity.detail .gallery {
    gap: 40px;
    margin: 40px 0;
}

.wrap-activity.detail .gallery .item {
    width: calc(50% - 20px);
}

.wrap-activity.detail .gallery .item a {
    text-decoration: none;
    color: var(--c-gry);
}

.wrap-activity.detail .gallery .item .img {
    width: 100%;
    position: relative;
    overflow: hidden;
}

.wrap-activity.detail .gallery .item .img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.wrap-activity.detail .gallery .item .img::before {
    opacity: 0;
    content: url(../img/common/ico-search.svg);
    background-color: rgba(107, 179, 111, 0.6);
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    transition: all 0.3s ease;
}

.wrap-activity.detail .gallery .item a:hover .img::before{
    opacity: 1;
}

.btn-back{
  position: relative;
  display: inline-block;
  padding: 12px 60px;
  background: var(--c-green);
  border-radius: 26px;
  color: #fff;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-decoration: none;
}

.btn-back:hover{
  background: #4C946A;
}

.btn-back::before,
.btn-back::after {
  width: 32px;
  height: 32px;
  position: absolute;
  right: 10px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  transition: transform 0.3s ease;
}

.btn-back::before {
  content: "";
  background-color: #fff;
  border-radius: 50%;
}

.btn-back::after {
  content: "";
  width: 15px;
  height: 15px;
  position: absolute;
  right: 18px;
  top: 0;
  bottom: 0;
  margin: auto 0;
  background-color:var(--c-green);
  -webkit-mask: url('../img/common/ico-arrow.svg') no-repeat center / contain;
  mask: url('../img/common/ico-arrow.svg') no-repeat center / contain;
}