@charset "utf-8";
@layer common, page, utilities;

@layer page {
/*--------------------------------------------------------------------------
□TOPページ home
---------------------------------------------------------------------------*/
/*p-h_mainVisual
--------------------------------------*/
.p-h_mainVisual{
  background: url(../images/home/mv.jpg) no-repeat 50% 50% / cover;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100dvh;
  .logoArea{
    text-align: center;
    .logo{
      img{
        @media (width <= 768px) {
          width: 18rem;
        }
      }
    }
    p{
      color: #FFF;
      font-weight: 700;
      text-shadow:
      0 0 10px #333,
      0 0 10px #333,
      0 0 10px #333;
    }
  }
}
/*Main
---------------------------------------------------------------------------*/
/*p-h_about
--------------------------------------*/
.p-h_about{
  text-align: center;
  h2{
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.5;
    @media (width <= 768px) {
      font-size: 2.2rem;
    }
  }
  p{
    line-height: 2.4;
    margin-top: 2rem;
    @media (width <= 768px) {
      font-size: 1.4rem;
      line-height: 2;
    }
  }
  .imgWrap{
    margin-top: 2rem;
    img{
      @media (width <= 768px) {
        width: 15rem;
      }
    }
  }
}
/*p-h_project
--------------------------------------*/
.p-h_project{
  background-color: var(--bg-color);
  .boxWrap{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    .box {
      background: #FFF;
      box-shadow: var(--shadow-subtle);
      width: 30rem;
      @media (width <= 768px) {
        width: 100%;
      }
      img{
        width: 100%;
        height: 20rem;
        object-fit: cover;
      }
      .box_body{
        padding: 2rem;
        h3{
          font-size: 2rem;
          font-weight: 700;
          @media (width <= 768px) {
            font-size: 1.8rem;
          }
        }
        p{
          line-break: anywhere;
          &&.subTxt{
            font-size: 1.4rem;
          }
        }
        .btnWrap{
          margin-top: 2rem;
          text-align: center;
        }
      }
    }
  }
}

/*p-h_news
--------------------------------------*/
.p-h_news{
  .list{
    margin-inline: auto;
    width: 60rem;
    @media (width <= 768px) {
      width: 100%;
    }
  }
  .list_item{
    display: flex;
    flex-wrap: wrap;
    align-items: flex-start;
    padding: 1.2rem 0;
    @media (width <= 768px) {
      align-items: center;
    }
    .date{
      width: 11rem;
    }
    .category{
      background-color: var(--primary);
      font-size: 1.2rem;
      text-align: center;
      color: #fff;
      border-radius: 3rem;
      margin-right: 2rem;
      width: 9rem;
      height: 3rem;
      line-height: 3rem;
      padding: 0 2rem;
      display: inline-block;
    }
    .title{
      color: var(--primary);
      width: calc(100% - 22rem);
      @media (width <= 768px) {
        width: 100%;
        margin-top: 1rem;
      }
      @media (any-hover: hover) {
        &:hover{
          text-decoration: underline;
        }
      }
    }
  }
}

}
/*@page*/