/*
【notice】
ブロックエディター用CSS
スタイルの定義は user_functions.php に記載
*/
.editor-styles-wrapper {
  --color-white: #fff;
  --color-black: #000;
  --color-gray1: #323232;
  --color-gray2: #D9D9D9;
  --color-gray3: #B3B3B3;
  --color-gray4: #E0E0E0;
  --color-gray5: #919191;
  --color-gray6: #F5F5F5;
  --color-green1: #00A6BE;
  --color-green2: #5AAE5A;
  --color-green3: #96D354;
  --color-green4: #01AF5B;
  --color-green5: #52CDA3;
  --color-green6: #EDF3F4;
  --color-orange1: #EC921A;
  --color-orange2: #DE9244;
  --color-blue1: #0A366A;
  --color-blue2: #296AE1;
  --color-blue3: #565FD6;
  --color-blue4: #0095E1;
  --color-red1: #E55B5B;
  --color-yellow1: #E1BF65;
  --color-yellow2: #F8F7F1;
  --color-pink1: #EA7AB2;
  --color-corporate: var(--color-blue1);
  --color-primary: var(--color-green1);
  --color-secondary: var(--color-orange1);
  --color-tertiary: var(--color-blue2);
  --color-quaternary: var(--color-green2);
  --color-text: var(--color-gray1);
  --color-line: #00BC00;
  --color-border1: var(--color-gray2);
  --color-border2: var(--color-gray3);
  --color-border3: var(--color-gray4);
  --color-border4: var(--color-gray5);
  --color-seminar1: var(--color-blue2);
  --color-seminar2: var(--color-quaternary);
  --color-seminar3: var(--color-orange1);
  --color-hokkaido: var(--color-blue3);
  --color-hokuriku: var(--color-green3);
  --color-tohoku: var(--color-blue4);
  --color-kanto: var(--color-green4);
  --color-chubu: var(--color-green5);
  --color-kinki: var(--color-orange2);
  --color-chugoku: var(--color-red1);
  --color-shikoku: var(--color-yellow1);
  --color-kyushu: var(--color-pink1);
  --color-faq: #F2F6F7;
  --color-faq-border: #ACB1BB;
  --gradient1-start: -5.68%;
  --gradient1-end: 116.2%;
  --gradient1-rotate: 108deg;
  --gradient2-start: 29.62%;
  --gradient2-end: 136.52%;
  --gradient2-rotate: 98deg;
  --gradient3-start: 0%;
  --gradient3-end: 100%;
  --gradient3-rotate: 90deg;
  --gradient4-start: -20.77%;
  --gradient4-end: 132.56%;
  --gradient4-rotate: 107deg;
  --gradient1: linear-gradient(var(--gradient1-rotate), #3297FF var(--gradient1-start), #04B67D var(--gradient1-end));
  --gradient2: linear-gradient(var(--gradient2-rotate), #7AB0F7 var(--gradient2-start), #00CAB9 var(--gradient2-end));
  --gradient3: linear-gradient(var(--gradient3-rotate), #6EBF9F var(--gradient3-start), #17A3C5 var(--gradient3-end));
  --gradient4: linear-gradient(var(--gradient4-rotate), #3297FF var(--gradient4-start), #139F72 var(--gradient4-end));
  --border-radius-2: 2px;
  --border-radius-5: 5px;
  --border-radius-6: 6px;
  --border-radius-8: 8px;
  --border-radius-10: 10px;
  --border-radius-20: 20px;
  --border-radius-30: 30px;
  --border-radius-60: 60px;
  --border-radius-120: 120px;
  --border-radius-pill: 100px;
  --border-radius-full: 50%;
  --box-shadow1: 0 3px 3px 0 rgba(0, 0, 0, .1);
  --easing-cubic: cubic-bezier(0, 0, 0, 1)
}

/* リンク */
.editor-styles-wrapper a {
  color: var(--color-primary);
  text-decoration-line: underline;
  text-decoration-color: var(--color-primary);
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  text-decoration-skip-ink: none;
  transition: color .3s var(--easing-cubic);
}

.editor-styles-wrapper a:focus-visible {
  text-decoration: none;
  /* color: var(--color-primary);
  text-decoration-color: var(--color-border1); */
}

@media (any-hover: none) {
  .editor-styles-wrapper a:active {
    text-decoration: none;
  }
}

@media (any-hover: hover) {
  .editor-styles-wrapper a:hover {
    text-decoration: none;
  }
}

/* ============================================
   見出し（core/heading）
   ============================================ */

/* 共通 */
.wp-block-heading {
  clear: both;
}

.wp-block-heading[class*="is-style-slogan"],
.wp-block-heading[class*="is-style-heading-bar"],
.wp-block-heading[class*="is-style-contents"] {
  font-weight: 500;
  margin-block: 0;
  position: relative;
  z-index: 1;
}

/* スローガン（プレーン） */
.wp-block-heading.is-style-slogan {
  font-size: 1.25rem;
  letter-spacing: 2px;
  line-height: 2.1;
}

/* スローガン（ボーダー） */
.wp-block-heading.is-style-slogan-border {
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 1.25rem;
  letter-spacing: 2px;
  line-height: 2.1;
}

.wp-block-heading.is-style-slogan-border::after {
  display: block;
  content: "";
  width: 120px;
  height: 2px;
  background: linear-gradient(107deg, #3297ff -20.77%, #139f72 132.56%);
}

/* スローガン（罫線） */
.wp-block-heading.is-style-slogan-ruledline {
  font-size: 1.25rem;
  letter-spacing: 2px;
  line-height: 2.1;
  text-decoration-line: underline;
  text-decoration-color: var(--color-text);
  text-decoration-thickness: 1px;
  text-underline-offset: 14px;
  text-decoration-skip-ink: none;
}

/* セクション見出し（下線あり） */
.wp-block-heading.is-style-heading-bar {
  font-size: 1.5rem;
  letter-spacing: 2.4px;
  padding-inline-start: 24px;
  padding-block-end: 10px;
  position: relative;
}

.wp-block-heading.is-style-heading-bar::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: url("../images/common/icon-heading.svg") center no-repeat;
  background-size: contain;
  position: absolute;
  top: 16px;
  left: 0;
}

.wp-block-heading.is-style-heading-bar::after {
  content: "";
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, #6ebf9f 0%, #17a3c5 100%);
  position: absolute;
  bottom: 0;
  left: 0;
}

/* セクション見出し（プレーン） */
.wp-block-heading.is-style-heading-bar-plane {
  font-size: 1.5rem;
  letter-spacing: 2.4px;
  padding-inline-start: 24px;
  padding-block-end: 0;
  position: relative;
}

.wp-block-heading.is-style-heading-bar-plane::before {
  content: "";
  display: block;
  width: 12px;
  height: 12px;
  background: url("../images/common/icon-heading.svg") center no-repeat;
  background-size: contain;
  position: absolute;
  top: 16px;
  left: 0;
}

.wp-block-heading.is-style-heading-bar-plane::after {
  display: none;
}

/* セクション見出し（テキストのみ） */
.wp-block-heading.is-style-heading-bar-no-icon {
  font-size: 1.5rem;
  letter-spacing: 2.4px;
  padding-inline-start: 0;
  padding-block-end: 0;
  position: relative;
}

.wp-block-heading.is-style-heading-bar-no-icon::before,
.wp-block-heading.is-style-heading-bar-no-icon::after {
  display: none;
}

/* セクション見出し（カラー・プライマリー） */
.wp-block-heading.is-style-heading-bar-no-icon-colorprimary {
  font-size: 1.5rem;
  letter-spacing: 2.4px;
  padding-inline-start: 0;
  padding-block-end: 0;
  color: var(--color-primary);
  position: relative;
}

.wp-block-heading.is-style-heading-bar-no-icon-colorprimary::before,
.wp-block-heading.is-style-heading-bar-no-icon-colorprimary::after {
  display: none;
}

/* コンテンツ見出し（プレーン） */
.wp-block-heading.is-style-contents {
  font-size: 1.375rem;
  padding-inline-start: 12px;
  position: relative;
}

.wp-block-heading.is-style-contents::before {
  content: "";
  display: block;
  width: 3px;
  height: 100%;
  background: linear-gradient(0deg, var(--color-primary) 0%, var(--color-primary) calc(100% - 10px), var(--color-secondary) calc(100% - 10px));
  position: absolute;
  top: 0;
  left: 0;
}

/* コンテンツ見出し（テキストのみ） */
.wp-block-heading.is-style-contents-plane {
  font-size: 1.375rem;
  padding-inline-start: 0;
  position: relative;
}

.wp-block-heading.is-style-contents-plane::before {
  display: none;
}

/* コンテンツ見出し（背景あり） */
.wp-block-heading.is-style-contents-bgbar {
  font-size: 1.375rem;
  font-weight: 500;
  padding: 10px 12px;
  color: var(--color-white);
  background-color: var(--color-primary);
  position: relative;
}

.wp-block-heading.is-style-contents-bgbar::before {
  content: "";
  display: block;
  width: 3px;
  height: 100%;
  background: var(--color-secondary);
  position: absolute;
  top: 0;
  left: 0;
}

/* コンテンツ見出し（カラー） */
.wp-block-heading.is-style-contents-colorprimary {
  font-size: 1.375rem;
  color: var(--color-primary);
  padding-inline-start: 0;
}

.wp-block-heading.is-style-contents-colorprimary::before {
  display: none;
}

.wp-block-heading.is-style-contents-colorsecondary {
  font-size: 1.375rem;
  color: var(--color-secondary);
  padding-inline-start: 0;
}

.wp-block-heading.is-style-contents-colorsecondary::before {
  display: none;
}

.wp-block-heading.is-style-contents-colortertiary {
  font-size: 1.375rem;
  color: var(--color-tertiary);
  padding-inline-start: 0;
}

.wp-block-heading.is-style-contents-colortertiary::before {
  display: none;
}

@media (min-width: 1040px) {

  .wp-block-heading.is-style-slogan,
  .wp-block-heading.is-style-slogan-border,
  .wp-block-heading.is-style-slogan-ruledline {
    font-size: 1.75rem;
    letter-spacing: 2.8px;
    line-height: 1.92857;
  }

  .wp-block-heading.is-style-slogan-border {
    gap: 16px;
  }

  .wp-block-heading.is-style-slogan-border::after {
    width: 160px;
  }

  .wp-block-heading.is-style-slogan-ruledline {
    text-underline-offset: 16px;
  }
}

/* ============================================
   ボタン（core/button）
   ============================================ */

/* プライマリー共通 */
.wp-block-button.is-style-primary .wp-block-button__link,
.wp-block-button.is-style-primary-medium .wp-block-button__link,
.wp-block-button.is-style-primary-small .wp-block-button__link,
.wp-block-button.is-style-primary-white .wp-block-button__link,
.wp-block-button.is-style-primary-white-medium .wp-block-button__link,
.wp-block-button.is-style-primary-white-small .wp-block-button__link,
.wp-block-button.is-style-primary-blue .wp-block-button__link,
.wp-block-button.is-style-primary-green .wp-block-button__link,
.wp-block-button.is-style-primary-orange .wp-block-button__link,
.wp-block-button.is-style-primary-blue-white .wp-block-button__link,
.wp-block-button.is-style-primary-green-white .wp-block-button__link,
.wp-block-button.is-style-primary-orange-white .wp-block-button__link,
.wp-block-button.is-style-primary-search .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 340px;
  width: 100%;
  min-height: 64px;
  padding: 14px 24px;
  border-radius: var(--border-radius-pill);
  text-decoration: none;
  font-size: 1.125rem;
  line-height: 1.4545;
  font-weight: 500;
  letter-spacing: 1.8px;
  transition: color 0.3s var(--easing-cubic), background-color 0.3s var(--easing-cubic);
}

.wp-block-button.is-style-primary .wp-block-button__link,
.wp-block-button.is-style-primary-medium .wp-block-button__link,
.wp-block-button.is-style-primary-small .wp-block-button__link,
.wp-block-button.is-style-primary-search .wp-block-button__link {
  color: var(--color-white);
  background-color: var(--color-primary);
  border: 1px solid var(--color-primary);
}

.wp-block-button.is-style-primary .wp-block-button__link::after,
.wp-block-button.is-style-primary-medium .wp-block-button__link::after,
.wp-block-button.is-style-primary-small .wp-block-button__link::after,
.wp-block-button.is-style-primary-search .wp-block-button__link::after {
  flex: 0 0 auto;
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url("../images/common/icon-circlearr-white.svg") no-repeat center center / contain;
  transition: translate 0.3s var(--easing-cubic);
}

@media (any-hover: hover) {

  .wp-block-button.is-style-primary .wp-block-button__link:hover,
  .wp-block-button.is-style-primary-medium .wp-block-button__link:hover,
  .wp-block-button.is-style-primary-small .wp-block-button__link:hover,
  .wp-block-button.is-style-primary-search .wp-block-button__link:hover {
    color: var(--color-primary);
    background-color: var(--color-white);
  }

  .wp-block-button.is-style-primary .wp-block-button__link:hover::after,
  .wp-block-button.is-style-primary-medium .wp-block-button__link:hover::after,
  .wp-block-button.is-style-primary-small .wp-block-button__link:hover::after,
  .wp-block-button.is-style-primary-search .wp-block-button__link:hover::after {
    background-image: url("../images/common/icon-circlearr-green.svg");
  }
}

.wp-block-button.is-style-primary-medium .wp-block-button__link,
.wp-block-button.is-style-primary-small .wp-block-button__link,
.wp-block-button.is-style-primary-search .wp-block-button__link {
  justify-content: space-between;
}

.wp-block-button.is-style-primary-medium .wp-block-button__link {
  min-width: 240px;
  min-height: 50px;
  padding: 10px 20px;
  font-size: 1rem;
  letter-spacing: 0.1em;
}

.wp-block-button.is-style-primary-medium .wp-block-button__link::after {
  width: 18px;
  height: 18px;
}

.wp-block-button.is-style-primary-small .wp-block-button__link {
  min-width: 210px;
  min-height: 46px;
  padding-block: 8px;
  font-size: 1rem;
  letter-spacing: 0.1em;
}

.wp-block-button.is-style-primary-small .wp-block-button__link::after {
  width: 18px;
  height: 18px;
}

/* 白ボタン */
.wp-block-button.is-style-primary-white .wp-block-button__link,
.wp-block-button.is-style-primary-white-medium .wp-block-button__link,
.wp-block-button.is-style-primary-white-small .wp-block-button__link {
  color: var(--color-primary);
  background-color: var(--color-white);
  border: 1px solid var(--color-primary);
}

.wp-block-button.is-style-primary-white .wp-block-button__link::after,
.wp-block-button.is-style-primary-white-medium .wp-block-button__link::after,
.wp-block-button.is-style-primary-white-small .wp-block-button__link::after {
  flex: 0 0 auto;
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url("../images/common/icon-circlearr-green.svg") no-repeat center center / contain;
}

@media (any-hover: hover) {

  .wp-block-button.is-style-primary-white .wp-block-button__link:hover,
  .wp-block-button.is-style-primary-white-medium .wp-block-button__link:hover,
  .wp-block-button.is-style-primary-white-small .wp-block-button__link:hover {
    color: var(--color-white);
    background-color: var(--color-primary);
  }

  .wp-block-button.is-style-primary-white .wp-block-button__link:hover::after,
  .wp-block-button.is-style-primary-white-medium .wp-block-button__link:hover::after,
  .wp-block-button.is-style-primary-white-small .wp-block-button__link:hover::after {
    background-image: url("../images/common/icon-circlearr-white.svg");
  }
}

.wp-block-button.is-style-primary-white-medium .wp-block-button__link {
  justify-content: space-between;
  min-width: 240px;
  min-height: 50px;
  padding: 10px 20px;
  font-size: 1rem;
  letter-spacing: 0.1em;
}

.wp-block-button.is-style-primary-white-medium .wp-block-button__link::after {
  width: 18px;
  height: 18px;
}

.wp-block-button.is-style-primary-white-small .wp-block-button__link {
  justify-content: space-between;
  min-width: 210px;
  min-height: 46px;
  padding-block: 8px;
  font-size: 1rem;
  letter-spacing: 0.1em;
}

.wp-block-button.is-style-primary-white-small .wp-block-button__link::after {
  width: 18px;
  height: 18px;
}

/* カラーボタン：青 */
.wp-block-button.is-style-primary-blue .wp-block-button__link {
  justify-content: space-between;
  color: var(--color-white);
  background-color: var(--color-tertiary);
  border: 1px solid var(--color-tertiary);
}

.wp-block-button.is-style-primary-blue .wp-block-button__link::after {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url("../images/common/icon-circlearr-briefing-white.svg") no-repeat center center / contain;
}

@media (any-hover: hover) {
  .wp-block-button.is-style-primary-blue .wp-block-button__link:hover {
    color: var(--color-tertiary);
    background-color: var(--color-white);
  }

  .wp-block-button.is-style-primary-blue .wp-block-button__link:hover::after {
    background-image: url("../images/common/icon-circlearr-briefing.svg");
  }
}

/* カラーボタン：緑 */
.wp-block-button.is-style-primary-green .wp-block-button__link {
  justify-content: space-between;
  color: var(--color-white);
  background-color: var(--color-quaternary);
  border: 1px solid var(--color-quaternary);
}

.wp-block-button.is-style-primary-green .wp-block-button__link::after {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url("../images/common/icon-circlearr-jitsumu-white.svg") no-repeat center center / contain;
}

@media (any-hover: hover) {
  .wp-block-button.is-style-primary-green .wp-block-button__link:hover {
    color: var(--color-quaternary);
    background-color: var(--color-white);
  }

  .wp-block-button.is-style-primary-green .wp-block-button__link:hover::after {
    background-image: url("../images/common/icon-circlearr-jitsumu.svg");
  }
}

/* カラーボタン：橙 */
.wp-block-button.is-style-primary-orange .wp-block-button__link {
  justify-content: space-between;
  color: var(--color-white);
  background-color: var(--color-secondary);
  border: 1px solid var(--color-secondary);
}

.wp-block-button.is-style-primary-orange .wp-block-button__link::after {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url("../images/common/icon-circlearr-taikenkai-white.svg") no-repeat center center / contain;
}

@media (any-hover: hover) {
  .wp-block-button.is-style-primary-orange .wp-block-button__link:hover {
    color: var(--color-secondary);
    background-color: var(--color-white);
  }

  .wp-block-button.is-style-primary-orange .wp-block-button__link:hover::after {
    background-image: url("../images/common/icon-circlearr-taikenkai.svg");
  }
}

/* カラーボタン：青白 */
.wp-block-button.is-style-primary-blue-white .wp-block-button__link {
  justify-content: space-between;
  color: var(--color-tertiary);
  background-color: var(--color-white);
  border: 1px solid var(--color-tertiary);
}

.wp-block-button.is-style-primary-blue-white .wp-block-button__link::after {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url("../images/common/icon-circlearr-briefing.svg") no-repeat center center / contain;
}

@media (any-hover: hover) {
  .wp-block-button.is-style-primary-blue-white .wp-block-button__link:hover {
    color: var(--color-white);
    background-color: var(--color-tertiary);
  }

  .wp-block-button.is-style-primary-blue-white .wp-block-button__link:hover::after {
    background-image: url("../images/common/icon-circlearr-briefing-white.svg");
  }
}

/* カラーボタン：緑白 */
.wp-block-button.is-style-primary-green-white .wp-block-button__link {
  justify-content: space-between;
  color: var(--color-quaternary);
  background-color: var(--color-white);
  border: 1px solid var(--color-quaternary);
}

.wp-block-button.is-style-primary-green-white .wp-block-button__link::after {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url("../images/common/icon-circlearr-jitsumu.svg") no-repeat center center / contain;
}

@media (any-hover: hover) {
  .wp-block-button.is-style-primary-green-white .wp-block-button__link:hover {
    color: var(--color-white);
    background-color: var(--color-quaternary);
  }

  .wp-block-button.is-style-primary-green-white .wp-block-button__link:hover::after {
    background-image: url("../images/common/icon-circlearr-jitsumu-white.svg");
  }
}

/* カラーボタン：橙白 */
.wp-block-button.is-style-primary-orange-white .wp-block-button__link {
  justify-content: space-between;
  color: var(--color-secondary);
  background-color: var(--color-white);
  border: 1px solid var(--color-secondary);
}

.wp-block-button.is-style-primary-orange-white .wp-block-button__link::after {
  content: "";
  display: block;
  width: 28px;
  height: 28px;
  background: url("../images/common/icon-circlearr-taikenkai.svg") no-repeat center center / contain;
}

@media (any-hover: hover) {
  .wp-block-button.is-style-primary-orange-white .wp-block-button__link:hover {
    color: var(--color-white);
    background-color: var(--color-secondary);
  }

  .wp-block-button.is-style-primary-orange-white .wp-block-button__link:hover::after {
    background-image: url("../images/common/icon-circlearr-taikenkai-white.svg");
  }
}

/* セカンダリー */
.wp-block-button.is-style-secondary .wp-block-button__link {
  --gradient1-start: -5.68%;
  --gradient1-end: 116.2%;
  --gradient1-rotate: 108deg;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  max-width: 360px;
  width: 100%;
  min-height: 64px;
  padding: 16px 24px;
  color: var(--color-white);
  background: linear-gradient(var(--gradient1-rotate), #3297ff var(--gradient1-start), #04b67d var(--gradient1-end));
  border: 1px solid var(--color-white);
  border-radius: var(--border-radius-pill);
  text-decoration: none;
  font-size: 1.25rem;
  line-height: 1.33;
  font-weight: 500;
  transition: --gradient1-start 1s var(--easing-cubic), --gradient1-end 1s var(--easing-cubic), --gradient1-rotate 1s var(--easing-cubic);
}

@media (any-hover: hover) {
  .wp-block-button.is-style-secondary .wp-block-button__link:hover {
    --gradient1-rotate: -40deg;
    --gradient1-end: 110%;
  }
}

@media (min-width: 1040px) {

  .wp-block-button.is-style-primary .wp-block-button__link,
  .wp-block-button.is-style-primary-medium .wp-block-button__link,
  .wp-block-button.is-style-primary-small .wp-block-button__link,
  .wp-block-button.is-style-primary-white .wp-block-button__link,
  .wp-block-button.is-style-primary-white-medium .wp-block-button__link,
  .wp-block-button.is-style-primary-white-small .wp-block-button__link,
  .wp-block-button.is-style-primary-blue .wp-block-button__link,
  .wp-block-button.is-style-primary-green .wp-block-button__link,
  .wp-block-button.is-style-primary-orange .wp-block-button__link,
  .wp-block-button.is-style-primary-blue-white .wp-block-button__link,
  .wp-block-button.is-style-primary-green-white .wp-block-button__link,
  .wp-block-button.is-style-primary-orange-white .wp-block-button__link,
  .wp-block-button.is-style-primary-search .wp-block-button__link {
    width: auto;
    max-width: none;
    min-width: 290px;
    min-height: 60px;
    padding-inline: 28px;
  }

  .wp-block-button.is-style-primary-medium .wp-block-button__link,
  .wp-block-button.is-style-primary-white-medium .wp-block-button__link {
    min-width: 240px;
    min-height: 50px;
    padding: 10px 20px;
  }

  .wp-block-button.is-style-secondary .wp-block-button__link {
    width: auto;
    max-width: none;
    min-height: 70px;
    padding-inline: 48px;
    font-size: 1.5rem;
  }
}

/* ============================================
   リスト（core/list）
   ============================================ */

.wp-block-list.is-style-dot,
.wp-block-list.is-style-dot-primary,
.wp-block-list.is-style-check,
.wp-block-list.is-style-check-primary,
.wp-block-list.is-style-number,
.wp-block-list.is-style-notice {
  display: grid;
  grid-template-columns: 1fr;
  gap: 4px;
  list-style: none;
  padding-inline-start: 0;
}

.wp-block-list.is-style-dot>li,
.wp-block-list.is-style-dot-primary>li {
  padding-left: 1rem;
  line-height: 1.5;
  position: relative;
}

.wp-block-list.is-style-dot>li::before {
  content: "・";
  position: absolute;
  left: 0;
  top: 0;
}

.wp-block-list.is-style-dot-primary>li {
  margin-inline-start: 5px;
  padding-left: 1rem;
  line-height: 1.5;
  position: relative;
}

.wp-block-list.is-style-dot-primary>li::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: var(--border-radius-full);
  background-color: var(--color-primary);
  position: absolute;
  left: 0;
  top: 9px;
}

.wp-block-list.is-style-check>li,
.wp-block-list.is-style-check-primary>li {
  padding-left: 1.5rem;
  line-height: 1.5;
  position: relative;
}

.wp-block-list.is-style-check>li::before,
.wp-block-list.is-style-check-primary>li::before {
  content: "";
  width: 20px;
  height: 20px;
  mask: url("../images/common/icon-check.svg") no-repeat center center / contain;
  background-color: var(--color-text);
  position: absolute;
  left: 0;
  top: 3px;
}

.wp-block-list.is-style-check-primary>li::before {
  background-color: var(--color-primary);
}

.wp-block-list.is-style-number {
  counter-reset: num;
}

.wp-block-list.is-style-number>li {
  padding-left: 1rem;
  line-height: 1.5;
  position: relative;
}

.wp-block-list.is-style-number>li::before {
  counter-increment: num;
  content: counter(num) ".";
  position: absolute;
  left: 0;
  top: 0;
}

.wp-block-list.is-style-notice>li {
  padding-left: 1rem;
  line-height: 1.5;
  position: relative;
}

.wp-block-list.is-style-notice>li::before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
}

/* ============================================
   テーブル（core/table）
   ============================================ */

.wp-block-table.is-style-default table,
.wp-block-table.is-style-scroll table,
.wp-block-table.is-style-row-header table,
.wp-block-table.is-style-side-header table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
}

.wp-block-table.is-style-default thead,
.wp-block-table.is-style-scroll thead,
.wp-block-table.is-style-row-header thead,
.wp-block-table.is-style-side-header thead {
  border-bottom: none;
}

.wp-block-table.is-style-default thead th,
.wp-block-table.is-style-scroll thead th,
.wp-block-table.is-style-row-header thead th,
.wp-block-table.is-style-side-header tbody th:first-child,
.wp-block-table.is-style-side-header thead th {
  padding: 10px 16px;
  border: 1px solid var(--color-border1);
  background-color: var(--color-green6);
  text-align: center;
}

.wp-block-table.is-style-default thead th:first-child,
.wp-block-table.is-style-scroll thead th:first-child,
.wp-block-table.is-style-row-header thead th:first-child {
  border-inline-start: none;
}

.wp-block-table.is-style-default thead th:last-child,
.wp-block-table.is-style-scroll thead th:last-child,
.wp-block-table.is-style-row-header thead th:last-child {
  border-inline-end: none;
}

.wp-block-table.is-style-default tbody td,
.wp-block-table.is-style-scroll tbody td,
.wp-block-table.is-style-row-header tbody td,
.wp-block-table.is-style-side-header tbody td {
  padding: 10px 16px;
  border: 1px solid var(--color-border1);
}

.wp-block-table.is-style-default tbody td:first-child,
.wp-block-table.is-style-scroll tbody td:first-child,
.wp-block-table.is-style-row-header tbody td:first-child,
.wp-block-table.is-style-side-header tbody td:first-child {
  border-inline-start: none;
}

.wp-block-table.is-style-default tbody td:last-child,
.wp-block-table.is-style-scroll tbody td:last-child,
.wp-block-table.is-style-row-header tbody td:last-child,
.wp-block-table.is-style-side-header tbody td:last-child {
  border-inline-end: none;
}

.wp-block-table.is-style-row-header tbody th {
  padding: 10px 16px;
  border: 1px solid var(--color-border1);
  background-color: var(--color-gray6);
  text-align: left;
  width: 220px;
}

.wp-block-table.is-style-row-header tbody th:first-child {
  border-inline-start: none;
}

.wp-block-table.is-style-scroll,
.wp-block-table.is-style-row-header,
.wp-block-table.is-style-side-header {
  width: 100%;
  padding-block-end: 10px;
  overflow-x: auto;
}

.wp-block-table.is-style-scroll::-webkit-scrollbar,
.wp-block-table.is-style-row-header::-webkit-scrollbar,
.wp-block-table.is-style-side-header::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

.wp-block-table.is-style-scroll::-webkit-scrollbar-track,
.wp-block-table.is-style-row-header::-webkit-scrollbar-track,
.wp-block-table.is-style-side-header::-webkit-scrollbar-track {
  background-color: var(--color-border3);
  border-radius: var(--border-radius-pill);
}

.wp-block-table.is-style-scroll::-webkit-scrollbar-thumb,
.wp-block-table.is-style-row-header::-webkit-scrollbar-thumb,
.wp-block-table.is-style-side-header::-webkit-scrollbar-thumb {
  background-color: var(--color-primary);
  border-radius: var(--border-radius-pill);
}

.wp-block-table.is-style-scroll table,
.wp-block-table.is-style-row-header table,
.wp-block-table.is-style-side-header table {
  width: 800px;
}

.wp-block-table.is-style-side-header figcaption,
.wp-block-table.is-style-side-header table caption {
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.4545;
  text-align: left;
  margin-block-end: 10px;
}

@media (min-width: 1040px) {

  .wp-block-table.is-style-side-header figcaption,
  .wp-block-table.is-style-side-header table caption {
    text-align: center;
  }
}


/* ============================================
   アコーディオン（core/accordion）
   開閉処理は WordPress 標準ブロックの JS に依存
   ============================================ */

.wp-block-accordion.is-style-default,
.wp-block-accordion.is-style-faq {
  display: flex;
  flex-direction: column;
  gap: 20px;
}

.wp-block-accordion.is-style-default .wp-block-accordion-item {
  background-color: var(--color-yellow2);
  border: 1px solid var(--color-border1);
}

.wp-block-accordion.is-style-faq .wp-block-accordion-item {
  background-color: var(--color-white);
  border-block-end: 1px solid var(--color-faq-border);
  /* background-color: var(--color-faq); */
  /* border: 1px solid var(--color-faq-border); */
}

.wp-block-accordion.is-style-default .wp-block-accordion-heading,
.wp-block-accordion.is-style-faq .wp-block-accordion-heading {
  margin: 0;
}

.wp-block-accordion.is-style-default .wp-block-accordion-heading__toggle,
.wp-block-accordion.is-style-faq .wp-block-accordion-heading__toggle {
  display: block;
  width: 100%;
  padding: 18px 40px 18px 18px;
  border: none;
  background: transparent;
  color: inherit;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1.3;
  text-align: left;
  cursor: pointer;
  position: relative;
}

.wp-block-accordion.is-style-faq .wp-block-accordion-heading__toggle-title {
  color: var(--color-primary);
}

.wp-block-accordion.is-style-default .wp-block-accordion-heading__toggle-icon,
.wp-block-accordion.is-style-faq .wp-block-accordion-heading__toggle-icon {
  display: none;
}

.wp-block-accordion.is-style-default .wp-block-accordion-heading__toggle::before,
.wp-block-accordion.is-style-default .wp-block-accordion-heading__toggle::after,
.wp-block-accordion.is-style-faq .wp-block-accordion-heading__toggle::before,
.wp-block-accordion.is-style-faq .wp-block-accordion-heading__toggle::after {
  content: "";
  display: block;
  width: 14px;
  height: 2px;
  background-color: var(--color-primary);
  position: absolute;
  top: 30px;
  right: 18px;
  transition: translate 0.3s var(--easing-cubic), rotate 0.3s var(--easing-cubic);
}

.wp-block-accordion.is-style-default .wp-block-accordion-heading__toggle::after,
.wp-block-accordion.is-style-faq .wp-block-accordion-heading__toggle::after {
  rotate: 90deg;
}

.wp-block-accordion.is-style-default .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle::after,
.wp-block-accordion.is-style-faq .wp-block-accordion-item.is-open .wp-block-accordion-heading__toggle::after {
  rotate: 0deg;
}

.wp-block-accordion.is-style-default .wp-block-accordion-panel,
.wp-block-accordion.is-style-faq .wp-block-accordion-panel {
  padding-inline: 18px;
  padding-block-end: 24px;
  transition: padding-block 0.3s var(--easing-cubic);
}