  max-width: 640px;
  @charset "utf-8";
  @import url('https://fonts.googleapis.com/css2?family=Caveat:wght@400..700&family=Shippori+Mincho&family=Zen+Kaku+Gothic+New&display=swap');

html, body {
  margin: 0;
  padding: 0;
  height: 100%;
}


/* cate1 */
.cate1 {
  flex-direction: column;
  gap: clamp(30px, 5vw, 60px);
}


.cate1 .txt1{
    max-width: 900px;
}

/* 各取り組みボックス */
.cate1 .cate-item {
  background: #fff;
  border: 2px solid #000;
  border-radius: 8px;
  overflow: hidden;
  padding: clamp(20px, 4vw, 50px) clamp(20px, 4vw, 30px);
  gap: clamp(20px, 4vw, 40px);
    align-items: stretch;
}

/* ボックス内画像 */
.cate1 .cate-item img {
width: clamp(280px, 35vw, 450px);
  height: auto;
  object-fit: cover;
  border-radius: 4px;
}

/* テキスト部分 */
.cate1 .cate-text {
  flex: 1;
}

/* 小見出し */
.cate1 .cate-title {
  background: #000;
  color: #fff;
  padding: 6px 12px;
  font-weight: bold;
margin-bottom: clamp(4px, 3vw, 30px);
  display: inline-block;
}

/* 説明文 */
.cate1 .cate-desc {
  line-height: 2.5;
font-weight: bold;
}

/* cate1 */
 

 
  /* ---------- main ---------- */
  /* ---------- more ---------- */
  /* ---------- IEのみ ---------- */
  @media all and (-ms-high-contrast: none) {}
  /* ---------- 1280px ~ ---------- */
  @media screen and (max-width: 1280px) {


  }
  /* ---------- 1080px ~ ---------- */
  @media screen and (max-width: 1080px) {
    .product-area .link-button {
      right: 0px;
    }
  }
  /* ---------- 768px ~ ---------- */
  @media screen and (max-width: 768px) {
      .cate1 .cate-item {
    background: #fff;
    border: 2px solid #000;
    border-radius: 8px;
    overflow: hidden;
    padding: clamp(20px, 4vw, 30px);
    gap: clamp(20px, 4vw, 40px);
          flex-direction: column;
          align-items: center;
          max-width: 600px;
} 
.cate1 .cate-item img {
width:100%;
border-radius: 4px;
}
      
    .product-item .imgwrap {
      width: clamp(90px, 25vw, 150px);
      height: clamp(90px, 25vw, 150px);
    }
    .product-list {
      flex-wrap: wrap;
      gap: 0px;
    }
    .product-item {
      width: calc(100% / 3); /* 3列 */
    }
    .product-area .link-button {
      top: 25%;
      right: -30px;
    }

  }
  /* ---------- 576px ~ ---------- */
  @media screen and (max-width: 576px) {
    .section02 .circle-area {
      width: 400px;
      height: 400px;
    }
    .section02 .circle {
      position: absolute;
      width: 120px;
      height: 120px;
      background: white;
      border-radius: 50%;
      box-shadow: 0 0 0 2px #fff;
      flex-direction: column;
      z-index: 2;
      padding: 10px;
    }
    .section02 .center-logo {
      width: 120px;
      height: 120px;
    }
    .product-title::before, .product-title::after {
      width: 70px;
      height: 70px;
    }
    .product-title::after {
      right: -70px;
    }
    .product-title::before {
      left: -70px;
    }
    .product-list-wrap {
      justify-content: center;
    }
    .product-list {
      display: flex;
      flex-wrap: wrap;
      justify-content: center;
      gap: 20px;
      margin-top: 10%;
    }
    .product-item {
      width: calc(50% - 10px); /* gap考慮して2列 */
      max-width: 170px;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    .product-area .link-button {
      position: absolute;
      top: 210px;
      right: 2%; /* 横の中央に配置 */
    }
  }
  /* ---------- 350px ~ ---------- */
  @media screen and (max-width: 350px) {}