@charset 'UTF-8';

 /* CSS Document */
 /*------------------------------------------------------------
   Browser Default Initialization responsive1
 ------------------------------------------------------------*/
 
 
    /* ========== Design Tokens ========== */


body {margin: 0;}

 .font-quiche {
   font-family: "quiche-sans", sans-serif;
   letter-spacing: .02em;
 }
     /* Fields Display (Adobe Fonts想定・フォールバック) */
    .font-fields{
      font-family: "fields-display", sans-serif;
      font-style: normal;
      letter-spacing: .02em;
    }



 /*トップ　私たちについて------------------------------*/
.first_about {
display: none;
  background: #fff;
  text-align: center;
  padding-top: 60px;
  padding-bottom: 0px;
}

.first_about h3{
  font-size: clamp(2rem, 4vw, 3.3rem);
  color: #d0d0d0;
  font-weight: 500;
  text-align: center;
  margin: auto;
  font-family: "quiche-sans", sans-serif;
  padding-bottom: 30px;
}


.first_about h5{
  font-size: clamp(0.8rem, 1.0vw, 1.0rem);
  color: #707070;
  font-weight: 400;
  text-align: center;
  margin: auto;
  line-height: 180%;
  padding-bottom: 30px;
}


.first_about h6{
  font-size: 15px;
  font-weight: 400;
  margin: auto;
  line-height: 180%;
}


/* スマホ用：余白などだけ微調整（4枚横並びは維持） */
@media (max-width: 768px) {
.first_about {
  padding-top: 30px;
}
}



  /*トップ　今すぐサークルボタン×４個------------------------------*/
  
.link-card-section {
display: none;
  background-color: #fff;
  padding-top: 20px;
  padding-bottom: 60px;
}

/* 横並び4枚（PC・スマホ共通） */
.link-card-list {
  display: flex;
  flex-wrap: nowrap;              /* 折り返さない = 常に横並び */
  gap: 0;
  justify-content: center;        /* ★ 中央揃え */
  max-width: 800px;
  margin: 0 auto;
  overflow-x: auto;               /* スマホなど幅が足りない時は横スクロール */
  -webkit-overflow-scrolling: touch;
}

.link-card {
  flex: 0 0 20%;                  /* 4枚でちょうど100% */
  min-width: 90px;               /* あまり潰れすぎないように最低幅を指定 */
  background-color: #ffffff;
  text-decoration: none;
  color: #333333;
  padding: 16px 8px 20px;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: transform 0.2s ease, box-shadow 0.2s ease, background-color 0.2s ease;
}



/* キーボードフォーカス用 */
.link-card:focus-visible {
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.4);
}

.link-card-image-wrap {
  width: 96px;
  height: 96px;
  border-radius: 50%;              /* 円マスク */
  overflow: hidden;
  margin-bottom: 12px;
}

.link-card-image-wrap img {
  width: 100%;
  height: 100%;
  object-fit: cover;               /* きれいにトリミング */
  display: block;
}

.link-card-title {
  font-size: 0.95rem;
  font-weight: 600;
  text-align: center;
  line-height: 1.4;
  margin-top: 0;
}

/* スマホ用：余白などだけ微調整（4枚横並びは維持） */
@media (max-width: 768px) {
  .link-card-section {
    padding-top: 0;
    padding-bottom: 40px;
  }

  .link-card {
    padding: 12px 6px 16px;
  }

  .link-card-image-wrap {
    width: 70px;
    height: 70px;
  }

  .link-card-title {
    font-size: 0.75rem;
  }
}



 /*トップ　カテゴリーグリッド------------------------------*/

.category_card {
display: none;
  background: #f5f5f5;
  padding-top: 60px;
  padding-bottom: 80px;
}


.category_card h3{
  font-size: clamp(2rem, 4vw, 3.3rem);
  color: #d0d0d0;
  font-weight: 500;
  text-align: center;
  margin: auto;
  font-family: "quiche-sans", sans-serif;
  padding-bottom: 30px;
}

.category_card h5{
  font-size: clamp(0.8rem, 1.0vw, 1.0rem);
  color: #707070;
  font-weight: 400;
  text-align: center;
  margin: auto;
  line-height: 180%;
  padding-bottom: 30px;
}

.category_card h6{
  font-size: 15px;
  font-weight: 500;
  margin: auto;
  font-family: "quiche-sans", sans-serif;
  padding-bottom: 5px;
}


.dw-card-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 0;
  background: #eee7e3;
  border-radius: 10px;   /* ★角丸を付与 */
  overflow: hidden;      /* ★角丸に沿って画像やカードがはみ出さないように */
  max-width: 1100px;
  margin: auto;
}


/* カード全体（ボーダー・シャドウ無し） */
.dw-card {
  display: block;
  text-decoration: none;
  color: inherit;
  background: #ffffff;
  cursor: pointer;
  border: 1px solid #eee7e3;       /* ボーダー削除 */
  border-radius: 0;   /* 角丸無しにする場合 */
  box-shadow: none;   /* シャドウ削除 */
  transition: transform 0.15s ease;
}

.dw-card:hover {
  transform: translateY(-2px); /* ここも不要なら削除できます */
}

/* PC：左右並びの構造 */
.dw-card-inner {
  display: flex;
  height: 100%;
}

/* 画像部分 */
.dw-card-image {
  flex: 0 0 40%;
  max-width: 40%;
  overflow: hidden;
}

.dw-card-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

/* テキスト部分 */
.dw-card-body {
  flex: 1;
  padding: 16px;
  box-sizing: border-box;
}

.dw-card-title {
  font-size: 0.9rem;
  margin: 0 0 8px;
  font-weight: 600;
}

.dw-card-text {
  font-size: 0.7rem;
  line-height: 1.6;
  margin: 0 0 12px;
}

/* 見た目ボタン */
.dw-card-btn {
  display: inline-block;
  color: #30b2cb;
  text-decoration: underline;
  font-size: 0.75rem;
  font-weight: 400;
  white-space: nowrap;
  margin-bottom: 10px;
}

/* スマホ（768px以下） */
@media (max-width: 768px) {
.category_card {
  background: ;
  padding: 60px 20px 80px;
}

.category_card h3{
  padding-bottom: 10px;
}

.category_card h5{
  padding-bottom: 30px;
}

  .dw-card-inner {
    flex-direction: column;
  }

  .dw-card-image {
    flex: 0 0 auto;
    max-width: 100%;
  }

  .dw-card-body {
    padding: 12px;
  }

  /* ボタン中央揃え */
  .dw-card-btn {
    display: block;
  }
}


  /*トップ　パッケージタイプグリッド------------------------------*/

.packtype-section {
display: none;
  margin: 0 auto;
  background: #d0d0d0;
  padding-top: 60px;
  padding-bottom: 80px;
}

.packtype-section h3{
  font-size: clamp(2rem, 4vw, 3.3rem);
  color: #f5f5f5;
  font-weight: 500;
  text-align: center;
  margin: auto;
  font-family: "quiche-sans", sans-serif;
  padding-bottom: 30px;
}

.packtype-section h5{
  font-size: clamp(0.8rem, 1.0vw, 1.0rem);
  color: #707070;
  font-weight: 400;
  text-align: center;
  margin: auto;
  line-height: 180%;
  padding-bottom: 30px;
}


    /* カードのグリッド（PC：3×2） */
    .packtype-grid {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 30px;
      max-width: 1100px;
      margin: auto;
    }

    /* カード全体がリンク */
    .packtype-link {
      display: block;
      text-decoration: none;
      color: inherit;
    }

    .packtype {
      display: flex;
      flex-direction: column; /* PC時：縦長レイアウト */
      border-radius: 4px;      
      overflow: hidden;
      background: #fff;
      transition: transform 0.2s ease, box-shadow 0.2s ease;
      height: 100%;
    }

    .packtype-link:hover .packtype {
      transform: translateY(-4px);
      box-shadow: 0 8px 18px rgba(0, 0, 0, 0.08);
    }

    .packtype-image {
      width: 100%;
      aspect-ratio: 4 / 3;
      object-fit: cover;
      display: block;
    }

    .packtype-content {
      padding: 16px;
      display: flex;
      flex-direction: column;
      gap: 8px;
    }

    .packtype-title {
      font-size: 1rem;
      font-weight: 700;
      line-height: 1.4;
    }

    .packtype-desc {
      font-size: 0.9rem;
      line-height: 1.6;
      color: #555;
    }

    /* -------------------------
       スマホ時（768px以下）
       ------------------------- */
    @media (max-width: 768px) {
    .packtype-section {
    background: ;
    padding: 60px 20px 80px;
    }
    
    .packtype-section h3{
    padding-bottom: 10px;
    }
    .packtype-section h5{
    padding-bottom: 30px;
    }


    .packtype-grid {
    grid-template-columns: 1fr; /* すべて縦並び */
    gap: 16px;
    }

    .packtype {
    flex-direction: row; /* 横長：左に画像、右にテキスト */
    align-items: stretch;
    }

    .packtype-image {
    width: 40%;
    height: 100%;
    aspect-ratio: auto;
    }

    .packtype-content {
    padding: 12px;
    }

    .packtype-title {
    font-size: 0.95rem;
    }

    .packtype-desc {
    font-size: 0.85rem;
    }
    }




  /*トップ　業種別カード------------------------------*/

    .topics-section {
        display: none;
    background: #fff;
    padding-top: 60px;
    padding-bottom: 80px;
    }

    .topics-section h3{
    font-size: clamp(2rem, 4vw, 3.3rem);
    color: #d0d0d0;
    font-weight: 500;
    text-align: center;
    margin: auto;
    font-family: "quiche-sans", sans-serif;
    padding-bottom: 30px;
    }

    .topics-section h5{
  font-size: clamp(0.8rem, 1.0vw, 1.0rem);
  color: #707070;
  font-weight: 400;
  text-align: center;
  margin: auto;
  line-height: 180%;
  padding-bottom: 30px;
    }

.topics-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  margin: auto;
  max-width: 1100px;
}

/* カード全体 */
.topics {
  display: block;
  position: relative;
  overflow: hidden;
  border-radius: 4px;
  text-decoration: none;
  border: 1px solid #e2e2e2;
}

/* 画像 */
.topics-img img {
  width: 100%;
  height: auto;
  display: block;
}


.topics:hover {
  background: rgba(0,0,0,0.55);
}


/* ---------- スマホ (768px以下) ---------- */
@media (max-width: 768px) {
    .topics-section {
    background: ;
    padding: 60px 20px 0px;
    }
    
    .topics-section h3{
    padding-bottom: 10px;
    }
    .topics-section h5{
    padding-bottom: 30px;
    }

  .topics-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
  }
}

