@charset "UTF-8";

/************************************
** service
************************************/
.service {
  .lead {
    text-align: center;
    margin-bottom: 60px;
  }
  .hmsg-sp {
    background: linear-gradient(180deg, #78d1dd, #29747d);
    color: #fff;
    padding: 20px 15px;
    border-radius: 30px 30px 0 0;
    font-size: 17px;
  }
}
.service-container {
  position: relative;
  margin-bottom: 60px;
  .hmsg {
    position: absolute;
    top: -30px;
    left: 0%;
    width: 80%;
    display: block;
    margin: 0 10% 60px 10%;
    font-size: 18px;
    text-align: center;
    padding: 15px;
    background: var(--main-color);
    color: #fff;
    border-radius: 30px;
    z-index: 10;
  }
  @media (max-width: 768px) {
    .hmsg {
      display: none;
    }
  }
}
.service .items.swiper {
  border: 2px solid var(--main-color);
  padding: 60px 20px 30px;
  background: #fff;
  .item {
    display: block;
    height: 300px;
    padding-right: 15px;
    border-right: 1px solid var(--main-color);
    &:nth-child(5) {
      padding-right: 0;
      border: none;
    }
    .iw {
      width: 120px;
      height: 120px;
      overflow: hidden;
      margin: 0 auto;
      margin-bottom: 20px;
      img {
        width: 100%;
        object-fit: contain;
      }
    }
    h3 {
      text-align: center;
      margin-bottom: 10px;
    }
    .msg {
      font-size: 14px;
    }
  }
}
.service .link02 a {
  margin: 0 auto;
  @media (max-width: 768px) {
    max-width: 100%;
  }
}
/************************************
** plan
************************************/
.plan {
  .box {
    background: url(https://andmake1.com/wp-content/uploads/2026/04/img1.webp);
    background-size: cover;
    background-position: center;
    height: 400px;
    position: relative;
    .link02 a {
      position: absolute;
      bottom: 15%;
      left: 60%;
    }
  }
  @media (max-width: 768px) {
    .box {
      background: url(https://andmake1.com/wp-content/uploads/2026/04/img1-1.webp);
      background-size: cover;
      height: 300px;
      .link02 a {
        position: absolute;
        bottom: 15%;
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 20px);
        font-size: 16px;
      }
    }
  }
}

/************************************
** blog
************************************/
.blog {
  .post-list {
    margin-bottom: 30px;
  }
  .link02 a {
    margin: 0 auto;
  }
  @media (max-width: 768px) {
    .link02 a{
      width:auto;
    }
  }
}

/************************************
** news
************************************/
.news {
  padding-bottom: 60px;
  border-bottom: 1px solid #bbb;
  margin-bottom: 60px;
  .heading {
    margin-bottom: 60px;
  }
  .rss-feed-container {
    margin-bottom: 30px;
    .rss-item {
      width: 800px;
      margin: 0 auto;
      border-bottom: 1px solid #ccc;
      padding: 10px 0;
      .rss-img {
        display: none;
      }
      .rss-content {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 20px;
        .p2 {
          display: none;
        }
      }
    }
  }
  .link {
    text-align: center;
    a {
      font-size: 16px;
    }
  }
}
@media screen and (max-width: 480px) {
  .news {
    padding-bottom: 30px;
    .rss-feed-container {
      .rss-item {
        width: auto;
      }
    }
  }
}

/************************************
** 
************************************/

/************************************
** nav-02
************************************/
.nav-02 {
    .rw {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 20px;
      .iw {
        width: 100%;
        height:250px;
        overflow: hidden;
        border-radius: 10px;
        position:relative;
        img {
          width: 100%;
          height: auto;
          display: block;
          object-fit: cover;
          transition: transform 0.5s ease;
        }
        .ttl{
          position:absolute;
          top: 50%;
          left: 50%;
          transform: translate(-50%, -50%);
          background: #fff;
          padding: 10px;
          width: 200px;
          text-align: center;
          color: #222;
          border: 2px solid var(--main-color);
          border-radius: 30px;
        }
      }
  }
}
@media (min-width: 768px) {
  .nav-02 a:hover img {
    transform: scale(1.05);
  }
}

@media screen and (max-width: 480px) {
  .nav-02 {
    .wrap {
      padding: 30px 15px 60px;
      .rw {
        grid-template-columns: 1fr;
      }
    }
  }
}
