/* ============================================
   wp-block-coop.css
   Gutenberg ブロック用スタイル（bunka / insurance ページ限定）
   ============================================ */

/* === カラム共通装飾（.wp-block-columns / .wp-block-column） === */
.coop-service .wp-block-columns {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 2rem;
}

.coop-service .wp-block-column {
  width: calc(50% - 1rem);
  background: #fff;
  padding: 1.5rem;
  border-radius: 12px;
  border: 1px solid var(--border-base-color);
  box-shadow: 0 2px 5px rgba(0,0,0,0.05);
}

/* === カード内の見出しブロックは装飾を除外 === */
.coop-service .wp-block-column .wp-block-heading {
  background: none;
  border: none;
  padding: 0;
  box-shadow: none;
}

/* カラム内の見出しをボーダーの外に出す（insuranceページを除外） */
.coop-service:not(.insurance-page) .wp-block-column .wp-block-heading {
  position: relative; /* 相対位置を設定 */
  top: -20px; /* ボーダーの外に移動 */
  margin-bottom: 0; /* 下の余白を削除 */
  background: none; /* 背景を削除 */
  border: none; /* ボーダーを削除 */
  padding: 0; /* パディングを削除 */
  box-shadow: none; /* シャドウを削除 */
}

/*
==================================================
  Gutenberg ブロックエディタ対応スタイル補完
  （wp-block-* クラス向け）
==================================================

/* === Gutenberg ブロックエディタ対応スタイル === */

/* 1. 一般見出しブロック（.wp-block-heading） */
.wp-block-heading {
    border-radius: 10px;
    margin: 1em auto 25px;
    width: 100%;
    max-width: 1000px;
    color: var(--main-font-color);
    display: flex;
    justify-content: flex-start;
    align-items: center;
    font-weight: bold;
    line-height: 1.4;
  }
  
  /* 2. 見出しレベル（h2, h3, h4） */
  h2.wp-block-heading {
    background: var(--title-bg-color);
    font-size: 1.6rem;
    color: var(--main-font-color);
    font-size: 24px;
    font-weight: bold;
    line-height: 1.4;
    margin: 2em 0 1em;
    padding: 12px 15px;
  
  }
  .wp-block-heading h3 {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 10px;
    color: var(--main-font-color);
    line-height: 1.4;
  }
  .wp-block-heading h4 {
    font-size: 1.1rem;
    color: var(--main-font-color);
    font-weight: bold;
    line-height: 1.4;
  }
  
  /* 3. アイコン付き見出し対応 */
  .wp-block-heading .bg-icon {
    background: var(--main-theme-color);
    border-radius: 50%;
    color: #fff;
    display: inline-flex;
    justify-content: center;
    align-items: center;
    height: 23px;
    width: 22px;
    margin-right: 10px;
    padding: 1px 0 0 0px;
  }
  
  /* 4. 段落ブロック */
  .wp-block-paragraph {
    font-size: 1rem;
    line-height: 1.8;
    margin: 1em 0;
    color: var(--main-font-color);
  }
  
  /* 5. リストブロック（ul / ol） */
  .wp-block-list {
    margin: 1.2em 0 1.5em 1.5em;
    /* padding-left: 1em;*/
  }
  .wp-block-list li {
    line-height: 1.7;
    margin-bottom: 0.5em;
  }
  
  /* 6. 画像ブロック */
  .wp-block-image {
     /*margin: 2em auto;*/
    text-align: center;
  }
  .wp-block-image img {
    max-width: 100%;
    height: auto;
  }
  
  /* 7. 引用（blockquote） */
  .wp-block-quote {
    border-left: 4px solid #ccc;
    margin: 2em 0;
    padding-left: 1em;
    color: #666;
    font-style: italic;
  }
  
  /* 8. テキストアラインメント */
  .has-text-align-center {
    text-align: center;
  }
  .has-text-align-left {
    text-align: left;
  }
  .has-text-align-right {
    text-align: right;
  }
  
  /* 9. ボタンブロック */
  .wp-block-button {
    margin: 2em 0;
  }
  .wp-block-button__link {
    background-color: var(--accent-theme-color);
    color: #fff;
    padding: 0.8em 2em;
    border-radius: 30px;
    font-weight: bold;
    display: inline-block;
    text-decoration: none;
    text-align: center;
  }
  .wp-block-button__link:hover {
    opacity: 0.9;
  }
  
  /* 10. グループ・段組み・余白系 */
  .wp-block-group,
  .wp-block-column,
  .wp-block-columns {
    margin-bottom: 2em;
  }
  
  /* 11. セクション余白補正 */
  .wp-block-spacer {
    height: 2em;
  }
  
  /* 12. テーブルブロック */
  .wp-block-table {
    border-collapse: collapse;
    width: 100%;
    margin: 2em 0;
  }
  .wp-block-table th,
  .wp-block-table td {
    border: 1px solid var(--border-base-color);
    padding: 1em;
    text-align: left;
    font-size: 0.95rem;
  }
  
  /* 13. メディアクエリでの見出しサイズ調整 */
  @media screen and (max-width: 768px) {
    .wp-block-heading h2 {
      font-size: 1.4rem;
    }
    .wp-block-heading h3 {
      font-size: 1.2rem;
    }
  }
  
  /* 14. ブロックエディタの dt/dd 表示調整 */
  .wp-block-definition-list dt {
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: bold;
  }
  .wp-block-definition-list dd {
    font-size: 16px;
    margin-bottom: 20px;
    padding-left: 1em;
  }
  /* 
  /* === Gutenberg対応: 保険リンクリスト（アイコン付き） === */
  .wp-block-group.insurance-contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 25px;
  }
  
  
  .wp-block-group.insurance-contents .insurance-body__image {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 5px;
    text-align: center;
  }
  
  .wp-block-group.insurance-contents .insurance-body__text h3 {
    font-size: 22px;
    font-weight: bold;
    margin: 0 0 15px;
  }
  
  .wp-block-group.insurance-contents .insurance-body__text p {
    color: var(--sub-font-color);
    font-size: 16px;
    line-height: 1.8em;
  }
  
  .wp-block-group.insurance-contents .insurance-body__ul-list {
    margin: 15px 0 0;
    padding-left: 0;
    list-style: none;
  }
  
  .wp-block-group.insurance-contents .insurance-body__ul-list li {
    display: flex;
    align-items: center;
    font-weight: bold;
    margin-bottom: 8px;
    width: 100%;
  }
  
  .wp-block-group.insurance-contents .insurance-body__ul-list li a {
    display: flex;
    align-items: center;
  }
  
  .wp-block-group.insurance-contents .insurance-body__ul-list li span.material-icons-round {
    background: var(--main-theme-color);
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20px;
    width: 20px;
    margin-right: 6px;
    font-size: 20px;
  }
  
  .wp-block-group.insurance-contents .insurance-body__ul-list li p {
    margin: 0;
    font-size: 16px;
    color: var(--main-font-color);
  }
  
  .wp-block-group.insurance-contents .insurance-body__ul-list li span:last-of-type {
    margin-left: auto;
    font-size: 18px;
    color: var(--sub-font-color2);
  }
  .wp-block-columns.insurance-body__list {
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap;
      gap: 2rem;
    }
    
  /* === 保険カード共通スタイル === */
  .insurance-card {
    width: 48%;
    border: 1px solid var(--border-base-color);
    border-radius: 10px;
    padding: 15px;
  }
  .insurance-card .insurance-body__image {
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 0 0 5px;
    text-align: center;
  }
  .insurance-card .insurance-body__text h3 {
    font-size: 22px;
    font-weight: bold;
    margin: 0 0 15px;
  }
  .insurance-card .insurance-body__text p {
    color: var(--sub-font-color);
    font-size: 16px;
    line-height: 1.8em;
  }
  .insurance-card .insurance-body__ul-list {
    margin: 15px 0 0;
    padding-left: 0;
    list-style: none;
  }
  .insurance-card .insurance-body__ul-list li {
    display: flex;
    align-items: center;
    font-weight: bold;
    margin-bottom: 8px;
    width: 100%;
  }
  .insurance-card .insurance-body__ul-list li a {
    display: flex;
    align-items: center;
  }
  .insurance-card .insurance-body__ul-list li span.material-icons-round {
    background: var(--main-theme-color);
    border-radius: 50%;
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 20px;
    width: 20px;
    margin-right: 6px;
    font-size: 20px;
  }
  .insurance-card .insurance-body__ul-list li p {
    margin: 0;
    font-size: 16px;
    color: var(--main-font-color);
  }
  .insurance-card .insurance-body__ul-list li span:last-of-type {
    margin-left: auto;
    font-size: 18px;
    color: var(--sub-font-color2);
  }
  /* === 保険カード：外部リンクアイコン背景削除 === */
  .insurance-card .insurance-body__ul-list li span.material-icons-round:last-of-type {
    background: none;
    color: var(--sub-font-color);
  }
  /* === 保険カード：リンク内のpタグの文字色をサブフォントカラーに === */
  .insurance-card .insurance-body__ul-list li a p {
    color: var(--sub-font-color)!important;
  }
  .wp-block-group.insurance-contents .insurance-body__text p {
    color: var(--sub-font-color);
    font-size: 16px;
    line-height: 1.8em;
  }
  
  .wp-block-group.insurance-contents .insurance-body__text p .small {
    color: var(--sub-font-color);
    display: block;
    font-size: 15px;
    margin-top: 10px;
    line-height: 1.8em;
  }
