/******* Do not edit this file *******
Simple Custom CSS and JS - by Silkypress.com
Saved: Dec 24 2025 | 07:48:11 */
/* =========================
   SiteMap Blocks（SWELL干渉をブロック内だけ遮断）
   ※クラス名に sitemap を含む版（差し替え用・全文）
========================= */

/* 全体 */
.p-sitemapBlocks{
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 12px 16px 28px;
  box-sizing: border-box;
}

/* ブロック */
.p-sitemapBlock{
  padding: 14px 0 6px;
}

/* ★2つ目以降の見出し上マージン */
.p-sitemapBlocks .p-sitemapBlock + .p-sitemapBlock{
  margin-top: 20px;
}

/* -------------------------
   ul/li を完全リセット（黒丸・左インデント対策）
------------------------- */
.p-sitemapBlocks ul,
.p-sitemapBlocks li{
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}
.p-sitemapBlocks ul{
  padding-inline-start: 0 !important;
}

/* -------------------------
   h3（SWELL見出し装飾を打消して理想寄せ）
------------------------- */
.p-sitemapBlocks h3.p-sitemapTtl{
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: none !important;
  text-shadow: none !important;

  position: relative !important;
  color: #222 !important;
  font-size: 18px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;

  /* 見出しデザイン（左バー＋下線） */
  padding: 0 0 12px 18px !important;
  margin: 0 0 14px !important;
  border-bottom: 1px solid #e60012 !important;
  box-sizing: border-box !important;
}

/* SWELL側の疑似要素対策 */
.p-sitemapBlocks h3.p-sitemapTtl::after{
  content: none !important;
  display: none !important;
}

/* 左の赤バー */
.p-sitemapBlocks h3.p-sitemapTtl::before{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  top: 2px !important;
  width: 4px !important;
  height: 1.2em !important;
  background: #e60012 !important;
  border-radius: 2px !important;
}

/* センター見出し */
.p-sitemapBlocks h3.p-sitemapTtl.is-center{
  text-align: center !important;
  padding-left: 0 !important;
}
.p-sitemapBlocks h3.p-sitemapTtl.is-center::before{
  display: none !important;
}

/* 念のため：2つ目以降のh3自体に余計な上マージンが付く環境対策 */
.p-sitemapBlocks .p-sitemapBlock + .p-sitemapBlock > h3.p-sitemapTtl{
  margin-top: 0 !important;
}

/* -------------------------
   通常リスト（PC:3カラム）
------------------------- */
.p-sitemapList{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 56px;
  row-gap: 18px;
}

.p-sitemapItem{
  display: block !important;
  min-width: 0;
}

/* -------------------------
   リンク（＞アイコンは文字と同サイズ）
------------------------- */
.p-sitemapLink,
.p-sitemapSublink{
  position: relative;
  display: block;
  color: #222;
  text-decoration: none !important;
  line-height: 1.45;
  box-sizing: border-box;
  padding-left: 1.4em; /* アイコン分（文字サイズ追従） */
}

/* ＞風アイコン */
.p-sitemapLink::before,
.p-sitemapSublink::before{
  content: "›";
  position: absolute;
  left: 0;
  top: 0.05em;
  font-size: 1em;   /* ★文字と同サイズ */
  line-height: 1;
  font-weight: 700;
  color: #e60012;
}

/* 説明文 */
.p-sitemapDesc{
  display: block;
  margin-top: 6px;
  font-size: 12px;
  color: #666;
  line-height: 1.45;
}

/* 区切り線（★強制上書き） */
.p-sitemapBlocks hr.p-sitemapSep{
  display: block !important;
  width: 100% !important;

  border: 0 !important;
  border-top: 1px solid #d9deef !important;

  margin: 12px 0 !important;
  padding: 0 !important;
  height: 0 !important;

  background: transparent !important;
  box-shadow: none !important;
}

/* hover / focus：下線なし、文字色だけSWELL基本カラーへ */
.p-sitemapBlocks .p-sitemapLink:hover,
.p-sitemapBlocks .p-sitemapLink:focus,
.p-sitemapBlocks .p-sitemapSublink:hover,
.p-sitemapBlocks .p-sitemapSublink:focus{
  text-decoration: none !important;
  color: var(--color_main, #e60012) !important;
}

/* =================================================
   店舗一覧：キャプチャ寄せ（このブロックだけ）
   ・地域見出し＝全幅＋下線
   ・都道府県リンク＝PCは3カラム
================================================= */

/* 店舗一覧：親は1列で積む（地域を必ず全幅にする） */
.p-sitemapBlock--stores .p-sitemapStoreList{
  display: grid !important;
  grid-template-columns: 1fr !important;
  row-gap: 18px;
}

/* 1行（全国/地域ひとまとまり） */
.p-sitemapBlock--stores .p-sitemapStoreItem{
  min-width: 0;
}

/* 地域リンク（北海道の結婚相談所 等）：下に薄い線 */
.p-sitemapBlock--stores .p-sitemapStoreHead{
  padding-bottom: 12px;
  border-bottom: 1px solid #d9deef;
}

/* 地域の下（都道府県）は3カラムで配置 */
.p-sitemapBlock--stores .p-sitemapStoreSublist{
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  column-gap: 56px;
  row-gap: 18px;

  margin-top: 18px !important;
  padding-left: 0 !important;
}

/* 都道府県のli */
.p-sitemapBlock--stores .p-sitemapStoreSubitem{
  margin: 0 !important;
  min-width: 0;
}

/* =================================================
   企業・採用情報：キャプチャ寄せ（このブロックだけ）
================================================= */

/* TOPリンク（単独） */
.p-sitemapBlock--corp .p-sitemapTopList{
  margin: 4px 0 18px !important;
}
.p-sitemapBlock--corp .p-sitemapTopItem{
  min-width: 0;
}

/* 3カラムグリッド */
.p-sitemapBlock--corp .p-sitemapCorpGrid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 56px;
  row-gap: 26px;
}

/* 各カラム */
.p-sitemapBlock--corp .p-sitemapCorpCol{
  min-width: 0;
}

/* カラム内の小見出し（会社概要 など） */
.p-sitemapBlock--corp .p-sitemapCorpCap{
  margin: 0 0 10px;
  padding: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.4;
  color: #222;
}

/* カラム内リスト */
.p-sitemapBlock--corp .p-sitemapCorpList{
  display: grid;
  grid-template-columns: 1fr;
  row-gap: 14px;
}

/* li */
.p-sitemapBlock--corp .p-sitemapCorpItem{
  min-width: 0;
}

/* =========================
   SP（1カラム）
========================= */
@media (max-width: 767px){

  .p-sitemapBlocks{
    padding: 10px 14px 22px;
  }

  .p-sitemapBlocks h3.p-sitemapTtl{
    font-size: 20px !important;
    padding: 0 0 10px !important;
    text-align: center !important;
  }
  .p-sitemapBlocks h3.p-sitemapTtl::before{
    display: none !important;
  }

  /* 通常リスト：SPは1列 */
  .p-sitemapList{
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 16px;
  }

  /* 店舗一覧：都道府県はSPは1列＋★字下げ */
  .p-sitemapBlock--stores .p-sitemapStoreSublist{
    grid-template-columns: 1fr !important;
    column-gap: 0 !important;
    row-gap: 16px;

    /* ★ここが追加：都道府県リンクを字下げ */
    padding-left: 22px !important;
    margin-top: 12px !important;
  }

  /* 企業・採用情報：SPは1列 */
  .p-sitemapBlock--corp .p-sitemapCorpGrid{
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 22px;
  }

  .p-sitemapLink{
    font-size: 16px;
  }

  .p-sitemapDesc{
    font-size: 13px;
  }
}
